Optimizator Field – блог веб разработчика
Вёрстка. Оптимизация сайтов. Шаманство с CMS. Личная продуктивность. Софт.
Вёрстка. Оптимизация сайтов. Шаманство с CMS. Личная продуктивность. Софт.
После того, как Microsoft объявила (опять же), что они изменили способ обработки плагинов в Internet Explorer у веб-разработчиков добавилось проблем. Заключается она в том, что при вставке applet, object, или embed в HTML документ плагин не допустит взаимодействия с пользователем до тех пор, пока пользователь не нажмёт на него :(.
В случае с флеш плагином, это означает, что ваш ролик не будет проигрываться до тех пор, пока пользователь его не активизирует, кликнув на нём. К счастью, Micosoft предлагает довольно простой способ обойти это проблему – вставлять флеш, используя Javascript.
Итак…
SWFObject это небольшой Javascript файл, используемый для максимально лёгкой и валидной вставки флеш. Он помогает обойти дурацкую «защиту» в IE, работает во всех основных браузерах, дружит с поисковиками, вобщем мастхэв! Взгляните на демо-страничку скрипта.
В использовании предельно прост – подключаем файл swfobject.js и добавляем в код странички примерно такое:
<script type="text/javascript" src="swfobject.js"></script> <div id="flashcontent"> This text is replaced by the Flash movie. </div> <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699"); so.write("flashcontent"); </script>
Рассмотрим подробней каждую строчку кода:
Именно этот блок, будет заменён на ваш флеш контент, а текстовое содердимое ([...]) увидят поисковики(!!!).
Создаём флеш обьект:
var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
Где параметры:
Непосредственно сама вставка флеш контента:
so.write("flashcontent");
Рассмотрим пример с дополнительными параметрами и использованием переменных:
<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699"); so.addParam("quality", "low"); so.addParam("wmode", "transparent"); so.addVariable("variable1", "value1"); so.addVariable("variable2", "value2"); so.addVariable("variable3", getQueryParamValue("variable3")); so.addVariable("variable4", getQueryParamValue("variable4")); so.write("flashcontent"); </script>
Указываем «низкое» качество проигрывания:
so.addParam("quality", "low");
Обязательно используйте для избежания проблем при наложении флеш поверх выпадающего меню:
so.addParam("wmode", "transparent");
Указываем значения нужных переменных:
so.addVariable("variable1", "value1"); so.addVariable("variable2", "value2");
Передаём переменные из строки запроса (http://www.example.com/page.html?variable3=value3&variable4=value4):
so.addVariable("variable3", getQueryParamValue("variable3")); so.addVariable("variable4", getQueryParamValue("variable4"));
Вот и всё! Пользуйтесь на здоровье!
Комментарии закрыты.
Среда, 28 Октябрь 2009 - 12:12
Большое спасибо автору. Статья очень помогла. А то у меня флешка скакала поверх всплывающего окна JQuery. so.addParam(«wmode», «transparent»);