Книга для чайников по технологии Flash


Неожиданные применения Flash - часть 3


В этом процессе есть еще одна тонкость - если кто-то зайдет на вашу страничку сначала броузером без поддержки Flash и потом, установив эту поддержку, попытается еще раз, он может быть снова переброшен на nonflash.html из-за наличия кэша браузера. Я пока не вижу никаких способов надежно обойти эту проблему без использования Cookies. Не имеет смысла именно здесь ударятся в описание того как это сделать - хороших руководств по ява-скрипту много. Но я например пробовал записывать Cookie скриптом из nonflash.html, а в заголовке detection.html пытался прочитать Cookie и в случае его обнаружения убивал Cookie и в заголовке подставлял 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, будет принято решение насчет видимости или невидимости приветствия.

На этом в принципе задачу можно считать решенной. Не знаю кому как, а мне например этот способ кажется значительно проще чем стандартный ява-скриптовский :)




Начало  Назад  Вперед