Код для вставки Flash в текст или шаблон блога
17.01.09 Как сделать баннер
Казалось бы, тривиальная задача вставки flash-баннера или ролика в HTML-код своего сайта не заслуживает того, чтобы писать на эту тему целую статью. К сожалению, не все так просто. Существует множество вариантов кода для публикации Flash, при чем единственно правильного, однозначно понимаемого всеми браузерами и удовлетворяющего стандарты W3C, нет. И дело не только в том, что существует огромное количество вариантов того, в какой версии Flash создавался баннер, какие при этом использовались команды ActionScript, какой версией flash-плеера и в каком браузере будет просматриваться flash-анимация. Проблема еще и в том, что компания Microsoft при создании своего браузера Internet Explorer запретила реализовывать взаимодействие с интерактивным контентом, пока пользователь не активирует его сам. Примерно так же поступила и Opera. В результате появилось несколько десятков вариантов HTML-кода для вставки flash-роликов, у каждого из которого есть свои преимущества и недостатки.
Самым популярным и наиболее адекватным кодом для публикации flash на своем сайте является код, одновременно использующий элементы object и embed. В таком HTML-коде используется дублирующая запись вызова flash-ролика, зато вероятность правильной загрузки вашей анимации почти стопроцентная:
1 2 3 4 5 6 | <object width="240" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"> <param name="quality" value="high" /><param name="src" value="banner_name.swf" /> <embed type="application/x-shockwave-flash" width="240" height="350" src="banner_name.swf" quality="high"> </embed> </object> |
Этот код HTML позволяет вставить на свою страницу баннер с именем banner_name.swf размером 240х350 и при этом достаточно flash-плеера 8й версии. Такой код генерировался средой разработки Macromedia Flash до выхода Adobe Flash 8.
В восьмой и более поздней версиях Flash генерирует вдобавок к большому малопонятному объему кода в HTML-документе еще и файлик AC_RunActiveContent.js. В этом файле среда разработки Adobe Flash CS3 с помощью 291 строки JavaScript–кода более подробно объясняет браузерам, как правильно публиковать простенькие флэшки. Это вдобавок к сгенерированным в основном HTML-документе 49 строкам HTML-кода.
В Adobe Flash CS4 на достигнутом не остановились. По мнению разработчиков, чтобы опубликовать flash-баннер нужно 321 (триста двадцать одна) строка кода HTML и JavaScript. Это шесть экранов на 19-дюймовом мониторе. Спасибо хоть весь код генерируется в один файл. Вероятно, так Adobe показывает свою заботу о пользователях админок сайтов, которые не могут подключать внешние JavaScript-файлы в код шаблона. Вспомнился бородатый анекдот о том, сколько милиционеров нужно, чтобы вкрутить лампочку. Теперь вместо милиционеров можно рассказывать о программистах Adobe.
Шутки-шутками, но такой код программы по созданию flash-контента генерируют не зря. Сложно добиться правильной загрузки сложных флэшек (а Flash используется не только для создания простеньких баннеров) в браузерах, разработчики которых выдумывают собственные стандарты. При этом еще flash-проигрывателей Adobe насоздавала от души в последнее время. Теперь приходится выкручиваться.
Существуют и короткие HTML-коды для вставки flash на свою страницу. Но они не всегда понимаются правильно разными браузерами. Например, код
1 2 3 4 5 6 | <object width="240" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"> <param name="src" value="banner_name.swf" /> <embed type="application/x-shockwave-flash" width="240" height="350" src="banner_name.swf"></embed> </object> |
поддерживается почти всеми браузерами, но не является рекомендованный W3C.
Существует также код, ориентированный на Microsoft Internet Explorer:
1 2 3 4 | <object width="240" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"> <embed type="application/x-shockwave-flash" width="240" height="350"></embed> </object> |
При этом, чтобы браузер смог запустить flash-ролик, ему нужно загрузить элемент управления ActiveX для flash-плеера, что делает отображение flash чувствительной к типу браузера. Потому лучше все же использовать универсальный код, который дублирует описание загрузки flash-баннера, зато понимается почти во всех случаях разными типами браузеров.
Для начинающих разработчиков flash-баннеров я бы хотел посоветовать сохранять готовые флэшки в как можно более ранних версиях. Если вы не используете возможности ActionScript 3.0, не нужно требовать загрузку Flash Player 10 от посетителя сайта. Подавляющее большинство баннеров использует старые методы анимации и ActionScript 2.0 и для их адекватного отображения вполне хватит плеера 7й или 8й версии. Зато в этом случае вероятность того, что посетитель сайта увидит вашу работу в своем браузере и увидит ее с задуманной вами скоростью, намного выше.
Чтобы опубликовать flash-баннер, рассчитанный на Flash Player 7 и Flash Player 8 в более новых версиях, например, Adobe Flash CS3, нужно установить настройки публикации баннера как показано на рисунке (File->Publish Settings…):

Если вы все же хотите сгенерировать код html для вставки флэш-ролика, рекомендуемый Adobe, нажмите на клавиатуре F12 при активной программе Adobe Flash. При этом в папке проекта появится HTML-страница с кодом, сгенерированным Flash, имя которой совпадает с названием проекта. Также, в зависимости от версии среды разработки Adobe Flash, может появиться и файл AC_RunActiveContent.js, который тоже нужно загрузить на свой сайт и подключить его к шаблону вашего сайта или блога. Честно говоря, непростая задача с сомнительной эффективностью.
Статьи похожей тематики:
Метки: Adobe, flash, html, баннер, вставка, код, публикация, флэш

Октябрь 24th, 2009 at 16:04
так какой вывод?:-)
А на данный момент какой самый оптимальный способ…?
Октябрь 24th, 2009 at 17:36
Все зависит от того, насколько сложный баннер. Если разработчик любитель самой последней версии Adobe Flash, использовал в флэшке передачу внешних параметров, сложные скрипты ActionScript 3, то баннер лучше публиковать по всем правилам, иначе будут глюки.
Если же баннер простой, каких большинство, и из скриптов в нем только код перехода на ActionScript 2, то короткой записи для публикации ролика Flash, приведенной вначале этой статьи, вполне хватит.
Октябрь 24th, 2009 at 17:59
разработчик в данном случае я
только осваиваю flash, в распоряжении adobe flash cs3
пока максимум что необходимо сделать, это простые кликабельные баннеры и простенькое меню с эффектами при наведении мыши… на action script 2 думаю реально такое реализовать?
первый способ подойдёт?
спасибо
Октябрь 24th, 2009 at 18:02
да, ставьте требование flash-плеера 8й версии и если среда разработки не ругается, значит, простой код публикации будет работать адекватно
Декабрь 12th, 2009 at 14:08
Спасибо за инфу! Мне как раз нужен был код для вставки банера.