Xpoint
   [напомнить пароль]

FAQ форума Flash

Оглавление

Как определить наличие Flash-plugin'а у пользователя?

Если отвечать коротко на этот вопрос, то используйте стандартный способ, который предоставляет Flash при генерации HTML. Для этого в настройках экспорта (Ctrl+Shift+F12) на вкладке "HTML" поставьте галочку "Detect Flash Version" (Flash MX 2004 и выше).
Более подробно эта тема обсуждалась здесь: Наличие Flash-плагина

Как передать данные в ролик через HTML?

Самый простой и надежный способ передать данные из HTML во флэш, это переписать тэг OBJECT/EMBED следующим образом:

<object ...>
...
<param name="flashvars" value="foo=Hello%20World&amp;paragraph=first+line%0Dsecond+line">
</object>

также не забываем про альтернативные браузеры и дублируем переменные атрибутом FlashVars у EMBED:

<embed ... flashvars="foo=Hello%20World&amp;paragraph=first+line%0Dsecond+line">

Данные, передаваемые через FlashVars, кодируются в формат application/x-www-form-urlencoded.
Переменные, передаваемые таким образом инициализируются в области видимости _root до начала проигрывания клипа. Т.е. для примера выше мы получим две переменных _root.foo и _root.paragraph с соответствующими значениями.
Подробнее о FlashVars на сайте macromedia.com

В качестве альтернативы, Вы можете передавать переменные во флэш непосредственно через URL:

<param name="movie" value="movie.swf?a=1&amp;b=2">

но по сравнению с FlashVars этот метод имеет два существенных недостатка:

  1. Ограничение на длину строки
  2. Отмена кэширования ролика (для разных параметров флэш будет загружаться каждый раз)

Flash генерирует невалидный HTML(XHTML) код. Можно ли придерживаться стандартов верстки?

Да, есть метод, описанный в статье Flash Satay: Embedding Flash While Supporting Standards. Заключается в том, что вычистив "мусор" мы получим минимальный рабочий код:

<object
type="application/x-shockwave-flash" data="movie.swf" 
width="400" height="300">
<param name="movie" value="movie.swf" />
</object>

который работает в большинстве современных браузеров. Единственная неприятность, которая возникает при использовании такой записи — это то, что ролик начинается проигрываться только после полной загрузки, но это легко лечится с помощью дополнительного ролика-загрузчика (размером меньше килобайта), который выступает в роли некого посредника между браузером и флэшем.

Как сделать ролик прозрачным?

В настройках экспорта (Ctrl+Shift+F12) во вкладке HTML проставьте параметр "Window Mode" в "Transparent".
Тоже самое можете сделать вручную, добавив параметр wmode="transparent" для OBJECT и EMBED и убрав bgcolor.

Меню залезает под флэш-ролик или "как вывести поверх Flash какой-либо объект?"

По умолчанию, флэш встраивается в страницу таким образом, что лежит выше всех объектов в HTML-документе, но Вы можете изменить это поведение, установив параметр "wmode" в "opaque" или "transparent". Первый отличается от второго только тем, что не делает фон прозрачным.
После того, как этот параметр присутствует, флэш легко управляется с помощью свойства z-index в CSS.

Powered by POEM™ Engine Copyright © 2002-2005