После того, как 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]);

Где параметры:

  • swf – путь к вашему swf файлу.
  • id – ID тега object или embed
  • width -ширина.
  • height – высота.
  • version – необходимая для проигрывания установленная версия флеш плагина.
  • background-color – шестнадцатиричное значение цвета фона.
  • quality – качество ролика, по умолчанию «high».

Непосредственно сама вставка флеш контента:
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"));

Вот и всё! Пользуйтесь на здоровье!

Похожие статьи:

  1. Вставляем простой flash mp3 плеер на сайт
  2. Отношения заказчик-исполнитель в виде бытовых сценок
  3. Форум фрилансеров «Tools for freedom»
  4. W3C утвердил новый тег!