В. Дронов - Macromedia Flash Professional 8. Графика и анимация
Когда Интернет "пошел в народ", разработчикам языка HTML срочно потребовалось снабдить его поддержкой графики. Они решили проблему, придумав тег <IMG>, в атрибуте SRC которого указывался интернет-адрес файла, содержащего изображение. Вот так выглядит соответствующий код:
<IMG SRC="logo.jpg">
Прочитав этот тег, Web-обозреватель получает от Web-cepeepa файл logo.jpg и выводит его содержимое на экран.
Однако изображение, которое помещаем мы на Web-страницу с помощью тега <IMG>, выглядит явно чужеродным по отношению к изначально "текстовому" HTML. Такие элементы-"чужаки", хранящиеся в отдельных от самой Web-страницы файлах, называются внедренными элементами.
Точно такими же внедренными элементами являются и фильмы в формате AVI, и звуки в формате WAV, и графика Flash, помещаемые на Web-страницах. Только в их случае используются другие теги: <OBJECT> и <EMBED>. Сейчас мы их рассмотрим.
Теги <OBJECT> и <EMBED>
Собственно, оба тега — и <OBJECT>, и <EMBED> — выполняют одну и ту же задачу. Они задают местоположение внедренного элемента на Web-странице и интернет-адрес файла, содержащего данные, необходимые для отображения этого элемента. Различие их состоит лишь в том, что тег <EMBED> объявлен устаревшим и не рекомендован к использованию, а вместо него рекомендуется использовать тег <OBJECT>. Но давайте обо всем по порядку…
Тег <OBJECT>Парный тег <OBJECT>, в общем случае, служит для помещения на Web-страницу компонента ActiveX. В том числе с его помощью можно поместить на Web-страницу встраиваемый проигрыватель Flash, оформленный в виде компонента ActiveX, и загрузить в него нужный файл Shockwave/Flash. (Как мы помним из главы /, встраиваемый проигрыватель Flash работает совместно с Web-обозревателем.) Также с помощью этого тега можно поместить на Web-страницу проигрыватели Windows Media и QuickTime и загрузить в них фильмы в форматах AVI и QuickTime, звуки в форматах WAV и MIDI и пр.
Вот пример использования тега <OBJECT> для помещения на Web-страницу проигрывателя Flash, в котором должен воспроизводиться фильм movie.swf:
<OBJECT CLASSID="clsid:d27cdb6e-ae6d-llcf-96b8-444553540000" WIDTH="100" S>HEIGHT="100" CODEBASE="http://fpdownload.macromedia.com/pub/shockwave/ S>cabs/flash/swflash.cab#version=8,0,0,0">
<PARAM NAME="MOVIE" VALUE="movie.swf">
<PARAM NAME="PLAY" VALUE="true">
<PARAM NAME="LOOP" VALUE="true">
<PARAM NAME="QUALITY" VALUE="high">
</OBJECT>
Видно, что внутри тега <OBJECT> помещается набор тегов <PARAM>, с помощью которых задаются различные параметры самого проигрывателя Flash, оформленного в виде компонента ActiveX. Каждому такому параметру соответствует свой тег <PARAM>; имя параметра задается атрибутом name, а значение — атрибутом VALUE.
Давайте посмотрим на приведенный выше HTML-код. Здесь мы поместили на Web-страницу проигрыватель Flash, задали файл Shockwave/Flash (параметр "MOVIE"), заставили его воспроизвестись сразу же после загрузки (параметр "PLAY") и зациклили (параметр "LOOP"). Напоследок мы задали качества вывода графики (параметр "QUALITY"). Как видите, все параметры имеют "говорящие" имена, так что сразу ясно, какой параметр за что "отвечает".
Тег <ОВJECT> содержит довольно много атрибутов. С их помощью задаются, в частности, размеры внедренного компонента ActiveX на Web-странице (атрибуты WIDTH и HEIGHT) и интернет-адрес его дистрибутива (атрибут CODEBASE). Таким образом, если нужный компонент на клиентском компьютере не установлен, Web-обозреватель сможет самостоятельно загрузить и установить его.
Тег <ОВJECT> поддерживается Web-обозревателями Microsoft Internet Explorer, начиная с версии 3.0, и Netscape Navigator версии не старше 4.0. Также он поддерживается всеми программами, появившимися в последнее время: Opera, Mozilla, Firefox и Apple Safari.
Тег <ОВJECT> стандартизирован и рекомендован к использованию комитетом W3C. Предполагается, что со временем он заменит собой все остальные теги, предназначенные для помещения на Web-страницы внедренных элементов, в том числе и тег <IMG>.
Тег <EMBED>Парный тег <EMBED>, в общем случае, служит для помещения на Web-страницу модуля расширения Web-обозревателя. В том числе с его помощью можно поместить на Web-страницу встраиваемый проигрыватель Flash, оформленный в виде модуля расширения, и загрузить в него нужный файл Shockwave/Flash. Вот пример тега <EMBED>, который это делает:
<EMBED SRC="movie.swf" WIDTH="100" HEIGHT="100" PLAY="true" LOOP="true" QUALITY="high" PLUGINSPAGE="http://www.Macromedia.com/go/getflashplayer">
</EMBED>
В отличие от тега <OBJECT>, здесь все необходимые параметры задаются в атрибутах самого тега <EMBED>. В них указываются размеры внедренного модуля на Web-странице (атрибуты WIDTH и HEIGHT), имя файла Shockwave/Flash (атрибут SRC), путь к дистрибутиву модуля расширения (атрибут PLUGINSPAGE) и качество воспроизведения (атрибут QUALITY). Никакие дополнительные теги в этом случае не нужны.
Тег <EMBED> начал поддерживаться Web-обозревателями Microsoft Internet Explorer версии 3.0 и Netscape Navigator 2.0. Хотя он в настоящее время не рекомендован к использованию комитетом W3C, но поддерживается до сих пор. Однако во всех вновь создаваемых Web-страницах рекомендуется использовать тег <OBJECT>.
Совместное использование тегов <OBJECT> и <EMBED>На практике для решения проблем совместимости разных программ Web-обозревателей теги <OBJECT> и <EMBED> используются совместно. Например, вот так:
<OBJECT CLASSID="clsid:d27cdb6e-ae6d-llcf-96b8-444553540000" WIDTH="100"HEIGHT="100"CODEBASE="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<PARAM NAME="M0VIE" VALUE="movie.swf">
<PARAM NAME="PLAY" VALUE="true">
<PARAM NAME="L00P" VALUE="true">
<PARAM NAME="QUALITY" VALUE="high">
<EMBED SRC="movie.swf" WIDTH="100" HEIGHT="100" PLAY="true" L00P="true" QUALITY="high" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
Видно, что в этом случае тег <EMBED> вложен внутрь тега <OBJECT> вместе с набором тегов <PARAM>. Что же происходит, если клиент пытается просмотреть Web-страницу, содержащую такой код? Давайте рассмотрим эту ситуацию для разных Web-обозревателей.
Если клиент использует современный Web-обозреватель, а именно, Microsoft Internet Explorer 3.0 или Netscape Navigator 4.0 (или более новые их версии), происходит следующее. Web-обозреватель считывает тег <OBJECT>, затем — теги <PARAM>, загружает компонент ActiveX, файл фильма и выводит его на экран. Тег <EMBED>, вложенный внутрь тега <OBJECT>, в этом случае игнорируется.
Если же клиент использует более старые версии программ Web-обозревателей, все происходит по-другому. Так как теги <OBJECT> и <PARAM> неизвестны этим программам, они их игнорируют — это стандартное поведение Web-обозревателя, встретившего незнакомый тег. В этом случае обрабатывается тег <EMBED>.
На заметкуВозможен, правда, и третий вариант. Клиент может использовать Microsoft Internet Explorer 2.0 — первую версию Web-обозревателя фирмы Microsoft, не поддерживающую ни тег <OBJECT>, ни тег <EMBED>. Но вряд ли сейчас кто-то еще пользуется этой курьезной программой, так что ее не стоит принимать в расчет.
Параметры встраиваемого проигрывателя Flash
Встраиваемый проигрыватель Flash поддерживает довольно много параметров. В случае тега <OBJECT> одни параметры задаются как одноименный атрибут этого тега, а другие — с помощью тега <PARAM>. В случае тега <EMBED> все параметры задаются через его атрибуты.
Внимание!Значения всех описанных ниже параметров задаются в строковом виде.
Параметр ALLOWSCRIPTACCESS разрешает или запрещает фильму Flash взаимодействовать с Web-страницей с помощью действия FSCommand (его описание можно найти в интерактивной справке Flash). Может принимать три значения:
□ "always" — взаимодействие разрешено в любом случае;
□ "never" — взаимодействие запрещено в любом случае;
□ "samedomain" — взаимодействие разрешено только в том случае, если и Web-страница, и фильм Flash загружены с одного и того же Web-сервера. Это значение по умолчанию.
В случае тега <OBJECT> значение этого параметра задается с помощью тега <PARAM>, в случае тега <EMBED> — в одноименном атрибуте.
Параметр ALIGN задает способ выравнивания "окна" проигрывателя Flash на Web-странице. Может принимать одно из пяти значений: