Передача ссылки во flash-баннер из html
Бывает так: есть flash-баннер, который должен ссылаться на какую-то странцу сайта. А адрес этой страницы неизвестен и станет известен только тогда, когда баннер собственно будет внедряться в код сайта. Или нужно иметь возможность менять ссылку во flash-баннере время от времени.
В обычном случае приходится брать исходник баннера и исправлять в нём ссылку, а потом компилировать баннер заново.
А хотелось бы иметь возможность изменить ссылку, на которую будет переводить баннер при клике, прямо из html-кода. Иными словами, передавать баннеру ссылку в виде параметра.
Как?
А вот как!
Подготовка flash-баннера
В сам баннер в первый кадр нужно добавить код для приёма параметра. А кнопку, которая осуществляет переход, изменить соответствующим образом.
Первый кадр flash-баннера
В него нужно добавить такой код:
// _level0.bannerLink is passed via FlashVars if (_level0.bannerLink == undefined) { // Default link will be used if no other link was specified via params var bannerLink:String = "http://www.sprinthost.ru"; } else { var bannerLink:String = _level0.bannerLink; }
bannerLink — это параметр, который будет передаваться в ролик. В коде также предусмотрена ссылка по умолчанию.
Код кнопки
Сама кнопка для клика получает следующий код:
on(release) { getURL(bannerLink); }
На этом с самим роликом всё. Осталось ещё добавить собственно передачу параметра в html-код.
Добавление параметров баннера в код html
В тэг <object>, который используется для внедрения баннера, нужно будет добавить код, который выделен жирным:
<object type="application/x-shockwave-flash" data="banner.swf" width="170" height="250"> <param name="movie" value="banner.swf"> <param name="wmode" value="transparent"> <param name="allowScriptAccess" value="sameDomain" /> <param name="FlashVars" value="bannerLink=http://www.google.com"> </object>
В данном примере ролику передаётся параметр, согласно которому он будет ссылаться на www.google.com.
Всё!
Поздравляю с достигнутым счастьем.
Большое спасибо, долго искал код но нигде не было написано так просто и подробно.
Кстати, если исходники для людей выложите с HTML вообще замечательно будет.
Сейчас решаю еще проблему:
1) Как сделать баннер, который бы активировался без двойного щелчка.
2) Как сделать, чтобы при отсутствии флэша показывался gif
Вообще, в заметке приведён весь необходимый html-код. Или Вас интересуют исходники flash-ролика с приёмом параметров?
По поводу вопросов:
1) Без двойного щелчка по чему?
2) Мы обычно используем swfobject для вставки flash, он позволяет и подложку сделать. В документации по нему всё подробно изложено с примерами кода: http://code.google.com/p/swfobject/
Успехов 🙂
….В тэг , который используется для внедрения баннера, нужно будет добавить код, который выделен жирным…..
А что выделено жирным? Не могу понять — дизайн блога тёмный.
Сама баннер на сайт поставила, но он статичный и не ведёт никуда. А что именно прописать, чтобы он вёл на другой сайт так и не поняла.
Жирным выделены следующие строки:
<param name=»allowScriptAccess» value=»sameDomain» />
<param name=»FlashVars» value=»bannerLink=http://www.google.com»>
Чтобы банер вёл куда-нибудь, нужно сделать на нём кнопку и прописать ей on(release), как описано в примере.
Я не прогамист и мне очень тяжело в этом разбираться! Свой сайт создала по готовым шаблонам, но дальше приходится всё самой!
Если у меня баннер с расширением gif, то надо все swf поменять на gif? И куда в этих тегах вставлять сам HTML код готового баннера? он у меня в таком виде:
И размер баннера надо изменить на свой.
В статье описана ситуация с flash-баннером. Если у Вас баннер с расширением .gif, то всё гораздо проще: достаточно заключить его в тэг ссылки:
<a href="http://ссылка_на_Ваш_сайт"><img src="http://ссылка/на/Ваш/баннер/banner.gif"></a>
Спасибо!!! Всё получилось!!! Удачи Вам во всём!!!
Что-то как-то не получается у меня (сразу говорю, я занимаюсь в большей степени дизайном, поэтому даже c html разметкой на Вы, так что особо не пинайте).
Делаю все как написано в статье, при запуске готового swf баннер кликабелен и естественно отправляет на sprinthost.ru (строка var bannerLink:String = «http://www.sprinthost.ru»; это и подразумевает, поэтому здесь все нормально).
Но вот когда запускаю flash с помощью html файла в той же опере (сам html генерирую Adobe Flash CS3), то здесь почему-то никакого перехода по клику на баннер не происходит ( помогите пожалуйста, вот место, куда и добавляю строку кода:
….
1. А в других браузерах как?
2. Скиньте ссылку на то, что получилось, т. к. код в комментарии не очень удобно вставлять.
Что такое этот первый кадр флеш-баннера? Я так понимаю этот кадр должен быть выделен в слое с кнопкой?
В общем если так, то получается следующее: mfarmer.ru/flash/bomba2.html — иными словами ссылка работает только дефолтная, может быть я как-то не так передаю параметры в теге ?
Что я делаю не так, может кто-нибудь подсказать?
Буду примного благодарен!
Спасибо.
Первый кадр — это самый-самый-самый-самый-самый-распресамый первый кадр ролика. Важно, чтобы скрипт запустился в самом начале.
С роликом у Вас всё в порядке. Попробуйте использовать код для внедрения ролика, который приведён в качестве примера в статье.
И в прям работает!
Спасибо!
А что не так в моём html коде то?
Спасибо огроменное, ещё раз!
В Вашем коде используется старый вариант с embed, который придуман для совместимости со всеми старыми браузерами. В настоящее время этот вариант не актуален и наоборот мешает современным возможностям 🙂
Спасибо огроменное! 🙂
Пожалуйста, помогите, я вижу вы отлично разбираетесь в этих вещах в отличии от меня… Я далеко не программер, и не флешер, чтоб писать в AS. Я создал баннер в програмке CoffeeCup Flash FireStarter, но столкнулся с этой проблемой… Как задать одну ссылку по умолчанию я понял, но мне нужны разные ссылки на один и тот же баннер… что-то прописать в флешке я не могу, и декомпилировав её тоже ничего утешительного не увидел… Подскажите, можно ли решить такую проблему?.. Как-то настроить данный параметр в самой программе или обойти то, что она написала… Заранее спасибо огромное, на Вас вся надежда…
Lego, суть этого решения как раз и состоит в том, чтобы настраивать через html ссылку для Flash-банера, чтобы в разных случаях привязывать к банеру разные ссылки.
Для того, чтобы изменить ссылку, достаточно поменять html-код, с помощью которого внедряется банер. Пример кода приведен в этой статье.
А если ссылка внедряется самой программой при создании баннера, и в html коде её нет?.. Как тогда быть?.
В таком случае следует изучить документацию к используемой Вами программе, либо воспользоваться редактором Flash, который разрабатывает компания Adobe: http://www.adobe.com/ru/products/flash/
Для реализации описанного в статье решения необходимо иметь возможность добавления ActionScript в ролик. Именно за счет взаимодействия ActionScript и параметров html-кода, с помощью которого ролик внедряется на страницу, происходит замена ссылки.
Извините за оффтоп. Решила рискнуьь, вдруг Вы сможете мне помочь. У меня такая задача: во флеш-баннер на сайте надо передавать строковую переменную (текст) из вне, то есть текст будет меняться периодически, не хочется каждый раз переделывать fla, swf и грузить на сайт.
Помогите, пожалуйста.
Для этого необходимо передать текст из html в переменную флешки, как описано в статье. После этого Вы можете выводить этот текст в любом месте ролика.
В html передаем параметр:
Во Flash на объекте пишем:
getURL(_root.link, «_blank»);
Можно написать и другие параметры открытия:
_blank — новое окно
_self — в текущий фрейм
_top — в полное окно
_parent — в область фрейма-родителя
И все работает…
🙂 Хотел чтоб html еще отобразился, но не получается…
Короче используйте _root. и все будет хорошо
А у меня ссылка не заработала ((
помогите плиз
Walentin, советы для начала: убедитесь, что сделали все так, как написано в статье. Почитайте комментарии, в них есть решения для сложностей, с которыми Вы можете столкнуться.
Техника предполагает знание ActionScript, если Вы его еще не изучали, почитайте по нему документацию. Попробуйте сделать сначала какой-нибудь простой скрипт, выполняющийся в первом кадре ролика.
Хочу сделать,чтобы внутри ролика картинки вращались, взрывались и т.п.
Кто подскажет где взять коды (может есть какая-то база)
куда их нужно поставить,чтобы анимация заработала?
Здравствуйте!
Есть код баннера партнерки. Как из него можно получить обычную реф ссылку типа : http://www.partner.ru/ref1111 ?
Здравствуйте, подскажите пожалуйста, как можно изменить этот код, чтобы при тапе на баннер, ссылка открывалась в новой вкладке? Т.е. можно ли это в хтмл прописать?
Я пробовал заключить обджект в тег а и прописать хреф с бланком, но почему-то это не прокатило.
Если прописывать слеш бланк во флеш, то куда именно?