Перед публикацией статьи я обнаружил, что VM
уже писал о FlashVars.. Но, с другой стороны, наши описания отличаются. Поэтому
я даю ссылку на его статью: Отсылка
во flash-клип переменных из HTML-окружения.
Атрибут FLASHVARS реализует эффективный способ импорта переменных в клип еще
в процессе загрузки. Строка переменных в виде набора пар name=value
передается в клип. В клипе соответствующие переменные создаются из полученной
строки до начала проигрывания первого кадра. Синтаксис: Пары
name=value в строке переменных должны быть разделены символом амперсанда
(&). Спецсимволы могут быть переданы как escape-последовательности
(символ процента (%) и следующее за ним двузначное шестнадцатеричное
число.) Одиночный пробел можно заменить символом плюса (+).
Атрибут FLASHVARS должен быть указан и в тэге OBJECT, и в тэге EMBED, для
работы в разных броузерах. Поддерживается Flash Player 6 и выше. Все
броузеры будут поддерживать передачу строк переменных длиной до 64КБ (65535 байт).
Пример с тэгом OBJECT:
<PARAM NAME=FLASHVARS VALUE="foo=Hello%20World¶graph=first+line%0Dsecond+line">
Пример с тэгом EMBED:
<EMBED src="display.swf" FLASHVARS="foo=Hello%20World¶graph=first+line%0Dsecond+line"
... (другие параметры)> </EMBED>
Кодировка передаваемой строки переменных совпадает с кодировкой содержащей
ее страницы. IE под Windows отвечает за поддержку строк, совместимых с кодировкой
UTF-16. Аналогично, Netscape предоставит проигрывателю строку в кодировке UTF-8.
Проблема
Относительные URL ведут себя непредсказуемо.
Решение
Если вы работаете с относительными URL, используйте атрибут BASE.
Атрибут BASE задает каталог для разрешения всех относительных путей, используемых
в .swf-клипе. Например, этот атрибут пригодится, если .swf-клип хранится в другой
директории, отдельно от основных файлов.
Примеры значений атрибута BASE:
- BASE равен "http://www.domainname.com/software". Все относительные
пути в клипе будут разрешаться от директории "software" сервера "www.domainname.com".
Относительный путь "page1.htm" будет разрешаться в клипе как абсолютный
путь "http://www.domainname.com/software/page1.htm", а относительный
путь "flash/page2.htm" будет разрешен как абсолютный путь "http://www.domainname.com/software/flash/page2.htm".
Примечание: Если значение BASE равно "http://www.domainname.com/levelone/leveltwo",
то относительный путь "page1.htm" будет разрешен как "http://www.domainname.com/levelone/page1.htm".
Чтобы избежать недоразумений, определите общий корень как BASE и указывайте оставшуюся
часть пути к вашему файлу. Например, используйте "http://www.domainname.com/levelone"
как BASE, а "levelone/page1.htm" как относительный путь к файлу.
- Если значением BASE является символ точки (
.), то все пути в
клипе будут разрешаться относительно директории размещения самого клипа. Предположим,
что клип хранится в папке "movies". Относительный путь "page1.htm"
разрешится в абсолютный путь "movies/page1.htm". Относительный путь
"flash/page2.htm" разрешится в "movies/flash/page2.htm".
Атрибут BASE по умолчанию равен точке (.). Во избежание недоразумений,
лучше всегда указывать атрибут BASE.
Пример html-кода c атрибутом BASE:
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
WIDTH="100" HEIGHT="100"
CODEBASE="http://active.macromedia.com/flash2/ cabs/swflash.cab#version=2,0,0,0">
<PARAM NAME="MOVIE" VALUE="moviename.swf">
<PARAM NAME="BASE" VALUE="http://www.domainname.com/software">
<EMBED SRC="moviename.swf" WIDTH="100" HEIGHT="100"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/ index.cgi?P1_Prod_Version=ShockwaveFlash2"
BASE="http://www.domainname.com/software">
</EMBED>
</OBJECT>
Примечание: если необходимо, используйте для
задания атрибута BASE относительный путь. Чтобы разные броузеры понимали относительные
URL одинаково, задайте индивидуальные значения атрибута BASE для тэгов OBJECT
и EMBED. Во избежание путаницы при задании значения атрибута BASE, рекомендуется
все же использовать точку как значение по умолчанию или абсолютные URL .
WIDTH
Ширина клипа в пикселях или в процентах от ширины окна броузера;
-
HEIGHT
Высота клипа в пикселях или в процентах от высоты окна броузера;
-
SRC
URL загружаемого клипа. Только для тэга EMBED;
PLUGINSPAGE
Адрес (URL), откуда пользователь может скачать плагин Flash Player, если
он еще не установлен. Только для тэга EMBED. См. пример
правильного значения этого атрибута;
MOVIE
URL загружаемого клипа. Только для тэга OBJECT[1];
CLASSID
Идентификатор ActiveX-компонента. Только для тэга OBJECT. См. пример;
CODEBASE
URL, с которого броузер может автоматически скачать и установить ActiveX-компонент
Flash Player, если он еще не установлен. Только для тэга OBJECT. См. пример.
NAME
Имя флэш-клипа для среды, его содержащей (обычно это окно броузера). Это имя может
быть использовано в скриптах html-страницы, например, в JavaScript или VBScript.
Только для тэга EMBED;
-
ID
То же, что и атрибут NAME, но только для тэга OBJECT;
SWLIVECONNECT (true, false)
Указывает броузеру, нужно ли запускать Java, когда Flash Player загружается в
первый раз. Значение по умолчанию (если этот атрибут опущен) — false.
Если вы совместно используете JavaScript и Flash в пределах одной html-страницы,
этот атрибут должен быть равен true, чтобы в Flash срабатывала функция
FSCommand;
PLAY (true, false)
Определяет, будет ли клип проигрываться сразу в процессе загрузки в броузер. Значение
по умолчанию — true, если атрибут опущен;
LOOP (true, false)
Указывает, будет ли клип проигрываться бесконечно, переходя с последнего кадра
на первый, или остановится. Значение по умолчанию — true
(если атрибут опущен);
QUALITY (low, high, autolow,
autohigh, best)
Low указывает проигрывателю, что частота смены кадров важнее
внешнего вида отдельных кадров. Антиалиасинг (сглаживание) не используется вообще;
Autolow подчеркивает важность частоты смены кадров, но по возможности
улучшает внешний вид отдельных кадров. Проигрыватель стартует без антиалиасинга.
Если обнаруживается, что процессор может производить сглаживание, антиалиасинг
включается;
Autohigh указывает, что одинаково важны и частота смены кадров,
и внешний вид отдельных кадров, но при необходимости жертвует внешним видом в
пользу частоте. Проигрыватель стартует с включенным антиалиасингом. Если реальная
частота кадров становится ниже частоты кадров, указанной в параметрах клипа, сглаживание
выключается, чтобы повысить скорость. Используйте эту установку для эмуляции режима
View > Antialias в среде разработки Flash;
-
Medium применяет антиалиасинг, но не сглаживает растровые изображения.
Качество выше, чем при значении Low, но ниже, чем при High;
High ставит красоту отдельного кадра выше скорости проигрывания
всей последовательности кадров. Сглаживание производится всегда. Если клип не
содержит анимации, растровые изображения сглаживаются; если же анимация в клипе
присутствует, растры не сглаживаются.
Best обеспечивает наивысшее качество отображения, но не учитывает
скорость проигрывания. Сглаживается все, в том числе и растровые изображения;
-
BGCOLOR (#RRGGBB в двухразрядном шестнадцатеричном виде) Фоновый
цвет клипа. Используйте этот атрибут, чтобы переопределять цвет фона .swf-клипа,
указанный в файле .fla. Этот атрибут не влияет на фоновый цвет html-страницы;
-
SCALE (show all, noborder, exact
fit)
-
Show all (значение по умолчанию). Весь клип умещается в заданной
области без искажений, сохраняя оригинальное соотношение ширины и высоты. С двух
сторон клипа могут возникать рамки;
No Border растягивает клип таким образом, чтобы он всегда заполнял
указанную область без искажений, но, возможно, с некоторым обрезанием. Оригинальное
соотношение ширины и высоты клипа сохраняется;
Exact Fit растягивает клип таким образом, чтобы он всегда заполнял
указанную область. Оригинальные пропорции не сохраняются, могут возникать искажения;
ALIGN (l, t, r, b)
- По умолчанию клип центрируется в окне броузера, и края клипа обрезаются, если
окно броузера меньше, чем сам клип;
Значения L, R, T, и B выравнивают
клип по соответствующему краю окна броузера и обрезают клип с трех остальных сторон
при необходимости;
SALIGN (l, t, r, b,
tl, tr, bl, br)
- Значения
L, R, T, и
B выравнивают клип относительно левого, правого, верхнего или нижнего
края окна броузера соответственно, и обрезают клип с трех остальных сторон при
необходимости.
- Значения
TL и TR выравнивают клип по верхнему левому
и верхнему правому углу окна броузера соответственно и при необходимости обрезают
клип снизу и справа или снизу и слева;
- Значения
BL и BR выравнивают клип по нижнему левому
и нижнему правому углу окна броузера соответственно и обрезают клип сверху и справа
или сверху и слева при необходимости;
BASE ("." или указанный базовый каталог)
Задает базовый каталог для разрешения внешних относительных путей клипа. Этот
атрибут полезен, когда клипы содержатся не в том же каталоге, что и остальные
файлы;
MENU (true, false)
True отображает полное меню, позволяя пользователю управлять
проигрывателем и устанавливать качество проигрывания;
False показывает меню с единственной опцией — "About
Flash Player". В Flash Player 6 также показывается опция "Settings".
WMODE
Прозрачность фона клипа. По умолчанию (когда этот атрибут не задан) фон клипа
непрозрачен. Но если установить для этого атрибута значение "transparent",
фон клипа станет прозрачным.
Чтобы HTML страница корректно отображала в броузере .swf-клип, она должна
содержать тэги с описанием этого клипа. Это тэги OBJECT и EMBED. Тэг OBJECT используется
Internet Explorer (IE) на платформе Windows, а тэг EMBED используется Netscape
Navigator (NN) на Macintosh и Windows, а также для IE на Macintosh для указания
броузеру, откуда можно загрузить Flash Player. Комбинация "IE/Windows"
для проигрывания Flash использует ActiveX-компонент, в то время как все другие
комбинации "броузер/платформа" используют для тех же целей плагин для
NN. Этим объясняется, почему нужны два тэга.
Примечание: ручное кодирование HTML страниц
для вставки тэгов OBJECT и EMBED необязательно, если вы используете Macromedia
Flash 4/5/MX. При публикации документа из среды разработки Macromedia Flash автоматически
создает html-документ, содержащий все необходимые тэги для всех броузеров. Для
публикации вы можете выбрать разные html-шаблоны в зависимости от вашей задачи.
Использование: File > Publish Settings. См. также Справку к Flash.
С помощью Dreamweaver можно легко вставить SWF-клип в документ HTML. Dreamweaver
также предоставляет дополнительные средства контроля над форматом и дизайном страниц,
содержащих Flash. См. Справку к DW.
1. Скопируйте следующий HTML-код и вставьте его в ваш HTML-документ:
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="400" id="myMovieName">
<PARAM NAME=movie VALUE="myFlashMovie.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550"
HEIGHT="400"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
2.Отредактируйте атрибуты тэгов:
- Измените параметры
HEIGHT и WIDTH, чтобы установит
желаемые размеры клипа; можно использовать значения в процентах от величины окна
броузера.
- Измените строку "
moviename.swf" там, где она появляется
в тэгах OBJECT и EMBED, чтобы присвоить имя проигрываемому клипу.
Тэг OBJECT используется в IE3.0 и выше под Windows 9x/2000/NT/ME/XP или в
любом другом броузере, поддерживающем использование компонента Flash ActiveX.
Атрибуты "classid" и "codebase"
должны всегда быть точно такими, как в примере выше; "codebase"
говорит броузеру, где искать Flash Player для автоматической установки. IE 3.0
и выше под Windows 9x/2000/NT/ME/XP выдаст пользователю диалоговое окно с вопросом,
желает ли пользователь автоматически установить/обновить Flash Player, если он
еще не установлен. Этот процесс не всегда требует перезагрузки броузера.
Тэг EMBED используется для NN 2.0 и выше, а также для всех броузеров,
использующих NN-совместимую версию плагина Flash Player. Атрибут "PLUGINSPAGE"
говорит броузеру, куда направить пользователя для загрузки Flash Player, если
он еще не установлен. Пользователь должен скачать и установить плагин, а затем
перезагрузить броузер.
Для гарантии, что большинство броузеров смогут проиграть ваш Flash-клип, вы
должны размещать тэг EMBED внутри тэга OBJECT, как было показано в примере. Броузеры
с поддержкой ActiveX "проигнорируют" тэг EMBED внутри тэга OBJECT. С
другой стороны, броузеры от Netscape и Microsoft, использующие Flash Player
в виде плагина, а не ActiveX компонента, не распознают тэг OBJECT и прочитают
только тэг EMBED.
Этот код — необходимый HTML-минимум для включения Flash в веб-страницы.
[новое окно]>