Как вы запускаете функции JavaScript из Flash? - PullRequest
9 голосов
/ 06 октября 2008

Как вы запускаете функцию javascript, используя ActionScript во флэш-памяти?

Цель - запустить функциональность jQuery из флэш-фильма

Ответы [ 2 ]

13 голосов
/ 06 октября 2008

Взгляните на ExternalInterface -Класс.
Из справочника по языку AS3:

Класс ExternalInterface является Внешний API, приложение интерфейс программирования, который позволяет прямое общение между ActionScript и Flash Player контейнер - например, HTML-страница с JavaScript. Adobe рекомендует использование ExternalInterface для всех Связь JavaScript-ActionScript.

И это работает так:

ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
ExternalInterface.call("sendToJavaScript", input.text);

Вы можете отправлять параметры и получать обратные вызовы ... довольно круто, верно? ;)

Насколько я знаю, это также будет работать на AS2 ...

4 голосов
/ 06 октября 2008

Как сказал Йохен, ExternalInterface - это путь, и я могу подтвердить, что он работает с AS2.

Если вы планируете запускать навигацию или что-либо, что влияет на область, где находится вспышка, не делайте этого напрямую из функции, которую вы вызываете со вспышки. Flash ожидает возвращаемого значения от функции, которую она вызывает, и если объект flash не существует, когда функция завершается, плагин flash падает.

Если вам нужно выполнить навигацию или изменить содержимое, вы можете добавить вызов setTimeout (в вашу функцию js). Это создаст новый поток и даст flash ожидаемое возвращаемое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...