2009-12-03 16:54:51

Вызов JavaScript функции из Flash для чайников :)

JavaScript Flash

Происходит это все от задач: надо сделать рекламный банер на флеше с кнопкой закрыть.

Реализация: Делаем флеш-ролик, помещаем в DIV, при нажатии на закрыть прячем DIV (если существует более простой или правильный способ рад буду узнать). Прятать DIV будем естественно жаваскриптом, для этого нужно чтоб наш ролик вызывал javascript-овую функцию в документе.

Для этого во флеше создаем кнопку закрыть, идем в ActionScript и там пишем:

on(release)
{
  
import flash.external.ExternalInterface;
ExternalInterface.call("myFunction");  

}

Благодаря этому при нажатии кнопки будет вызываться функция myFunction из документа :)


Жмем publish и идем в созданный html-файл, в нем пишем (желательно внутри HEAD) javascript-овую функцию:

function myFunction()
{
document.getElementById('myFlash').style.display='none';
alert(':)');
}

А к DIV в котором сидит ролик дописываем параметр id="myFlash".

Теперь запускаемся (локально открыть файл не из под сервера не прокатит тк будет ругаться на то что swf-ролик пытается получить доступ к документу), тыкаем в нашу кнопку закрыть во флешке и наблюдаем чудо ;)

На этом часть для чайников заканчивается, тк дальше тему можно развивать до бесконечности в зависимости от фантазии и возможностей.

Оригинал "Call Javascript in Flash" http://scriptplayground.com/tutorials/as/Call-Javascript-in-Flash/