Казалось бы, тривиальная задача вставки 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, использовал в флэшке передачу внешних параметров, сложные скрипты ActionScript 3, то баннер лучше публиковать по всем правилам, иначе будут глюки.
Если же баннер простой, каких большинство, и из скриптов в нем только код перехода на ActionScript 2, то короткой записи для публикации ролика Flash, приведенной вначале этой статьи, вполне хватит.
разработчик в данном случае я 🙂 только осваиваю flash, в распоряжении adobe flash cs3
пока максимум что необходимо сделать, это простые кликабельные баннеры и простенькое меню с эффектами при наведении мыши… на action script 2 думаю реально такое реализовать?
первый способ подойдёт?
спасибо
да, ставьте требование flash-плеера 8й версии и если среда разработки не ругается, значит, простой код публикации будет работать адекватно
Спасибо за инфу! Мне как раз нужен был код для вставки банера.
На счет меню во флеш, я бы либо доверил это дело мастерам либо копнул бы в сторону jQuery иначе зреличе как правило унылое. имхо.
У меня тут накопилось куча разных кодов по вставке флеша, дай думаю поищу нужный вариант и попал как раз на твой блог:) Полезная инфа!
Tod, спамишь в комментах? 😉
А у меня Flash MX 2004 для него какие скрипты? А то эти не работает, просто белый лист появляется
Подскажите, пожалуйста, а куда писать этот самый код? Я просто ну совсем тут не шарю, я просто саму программу flash немного знаю, и знаю, что с ее помощью можно сйт сделать. Вот решила сама, купила имя в нете, а как и куда ее запихнуть…. ну ни капельки не программист я. Вот все что вы пишите, эти коды идут по порядку 1…… 2….. 3….. , а где их конкретно в своей странице писать..? не понимаю.
Вот передо мной моя страница. Может весь ваш код написать в строке где имя пишеться (www….. и там в конце ваш код), или там на сайте есть-редактировать страницу-может гдето там? либо где то в меню самой страницы должно быть что то типа «»загрузить файл…» либо «прописать код» Ну вот честное слово не понимаю. (((
Помогите, пожалуйста, если не сложно.
Заранее спасибо!
Лена, обратитесь пожалуйста к квалифицированному разработчику сайтов или баннеров, заплатите ему деньги и он решит вашу проблему. С вашим уровнем знаний самостоятельно вникать к тонкости разработки сайтов — не самое логичное решение.
Я грёбаный спамер… блииин…
Лена, смотрите выше, в комментах с голубым цветом есть Андрей Долблев, пишите ему.