Магазин портативной техники "Портатив"
:: на главную
Flash > Неожиданные применения Flash

  document.write("<meta HTTP-EQUIV='Refresh' CONTENT='1'>");

а в случае не обнаружения

document.write("<meta HTTP-EQUIV='Refresh'	  
CONTENT='4;URL=nonflash.html'>");

Что характерно, это почему-то срабатывало :)
Теперь нам остается поприветствовать пользователей IE на flash4.html и это уж сделать совсем просто. В исходный код flash4.html добавим несколько знаков:
вместо

	<param NAME=movie VALUE="main.swf"> 
сделаем
	<param NAME=movie VALUE="main.swf?ie=1"> 

После этого добавим в основную сцену main.swf объект типа "Символ" вида "Movie Clip" c Instance Name hi содержащий текст приветствия и в первый кадр добавим следующее действие
If (ie=1)
        Set Property ("/hi", Visibility) = "1"
Else
        Set Property ("/hi", Visibility) = "0"
End If

Таким образом при заходе на эту страничку эксплорером из исходного текста html в swf будет передана переменная ie со значением 1, а если посетитель использует NN эта переменная не будет передана в swf (ну не понимает NN тэга <object... :) Соответственно в первом кадре, после проверки равенства ie=1, будет принято решение насчет видимости или невидимости приветствия.
На этом в принципе задачу можно считать решенной. Не знаю кому как, а мне например этот способ кажется значительно проще чем стандартный ява-скриптовский :)
PS: Только не нужно думать, что я агитирую за запрет автоустановки плугина в IE - это просто такая задача попалась для примера :) Хотя, в принципе, иногда такой запрет может быть полезен.
2. Пароль на вход.
С помощью все тех же переменных и "Frames Actions" очень легко защитить вход на флэшовые странички паролем. Нужно просто организовать в самом начале ролика (в кадре с акцией Stop) поле ввода и в его свойствах указать имя какой-нибудь переменной (к примеру, Pass) и кнопку Submit, которой можно назначить что-то вроде следующих действий:
On (Release, Release Outside)
      If (Pass eq "truepass")
            Go to and Play ("Welcome")
      Else If (n>3)
            Go to and Play ("Sorry - you are wrong")
      Else If (n eq "")
            Set Variable: "n" = "1"
      Else If (0 < n < 3)
            Set Variable: "n" = n+1
      End If
End On

Очень легко увидеть, что при правильно введенном пароле (слово "truepass" в поле ввода (само собой без кавычек :)) посетитель будет перенаправлен на ключевой кадр с меткой Welcome, а после пятой неправильной попытки - на метку Sorry - you are wrong. Для пущей защищенности не следует вводить правильное слово в поле ввода по умолчанию :) Кроме того, можно основное содержание подгружать из дополнительного .swf действием Load Movie из кадра с меткой Welcome. Причем действие это лучше привязать к нажатию кнопки - действия кнопок немножко сложнее вычислить, не имея исходника. Особенно если перед проверкой с введенным словом производятся какие-нибудь арифметические или логические операции, а имя загружаемого ролика передавать в виде переменной.
Пожалуй, пока хватит :) Пора перейти от этих тривиальных задачек к чему-нибудь поинтереснее. Далее мы поговорим об определении быстродействия компьютера посетителя флэшовой странички, об оценке качества его соединения с интернетом, об "удаленном администрировании" своей странички, о том, как Flash может облегчить жизнь держателей варезных сайтов, о попытках подменить некоторые функции Cookes, о сургуче, снарках и наконец о ремонте некоторых неисправностей карданного вала методами Flash :) Но это все можно будет узнать только на следующей страничке...

Вы там не очень обращайте внимание на предпоследнее предложение на прошлой страничке :) Такие вот у меня шутки дурацкие, виноват :) Все мы очень хорошо знаем, что ничего из перечисленного там, средствами Flash сделать нельзя. Или тяжело... Или можно ? :) Хотя в принципе насчет карданных валов это я слегка загнул... Тогда, значит, поехали дальше ? :)


<< назад содержание вперед >>