Подготовка swf-файла для flash-баннера
- Flash-ролик должен быть в формате *.swf, скомпилирован в версии не ниже 5-й.
- В swf-файле должен быть элемент button, отредактированный согласно приведенным ниже спецификациям.
Редактирование SWF-файла
В первом кадре ролика пропишите следующие команды:
if(ar_init == undefined){
ar_init = true;
System.security.allowDomain(_parent._url);
}
System.security.allowDomain(_parent._url) разрешает доступ загрузчику к переменным баннера и позволяет правильно инициализировать переменную для клика (link1). При этом в загрузчике не нужно специально разрешать доступ для загружаемых роликов.
Чтобы клики по баннеру засчитывались корректно, нужно отредактировать также элемент button.
- Создайте (если почему-то еще не создали) в вашем flash-ролике элемент button.
- Используйте следующий скрипт для элемента button:
on (release) {
getURL(_root.link1,target);
}
Именно так не подставляя вместо _root.link1 и target какие-то конкретные параметры, не добавляя кавычек и т. п.
- Если вы хотите, чтобы рекламируемый сайт всегда открывался в новом окне, подставьте вместо target значение "_blank". Если параметр target не задан, то в каком окне будет открыт сайт, решает владелец сайта, на котором будет показан баннер.
Пример получившегося элемента button:
on (release) {
getURL(_root.link1,target);
}
или
on (release) {
getURL(_root.link1,"_blank");
}
Несколько ссылок во flash-ролике
Если во flash-ролике несколько ссылок, то замените в каждом элементе _root.link1 на _root.link1+escape("адрес"), где вместо адрес впишите URL, на который ведет этот элемент.
Пример получившегося элемента button для swf-файла, содержащего несколько ссылок:
on (release) {
getURL(_root.link1+escape("http://mysite.ru/"), "_blank");
}
Flash-ролик на ActionScript3
В ActionScript3 для элемента button пропишите следующий скрипт:
function callLink(event:MouseEvent):void {
try {
var ie:String = ExternalInterface.call("function(){return !!window.ActiveXObject}");
var url:String = LoaderInfo(this.root.loaderInfo).parameters['link1'];
if(ie)ExternalInterface.call('window.open',url);
else navigateToURL(new URLRequest(url), '_blank');
}catch (e:Error){}
}
click_button.addEventListener(MouseEvent.CLICK, callLink)