Требования к внешнему API и преимуществаFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Внешний API является частью ActionScript, которая обеспечивает механизм для связи между ActionScript и кодом, запущенным во «внешнем приложении», который выступает в роли контейнера для Flash Player (обычно это веб-обозреватель или автономное приложение проектора). В ActionScript 3.0 функциональные возможности внешнего API обеспечиваются классом ExternalInterface. В версиях, появившихся перед версией Flash Player 8, действие fscommand() использовалось для осуществления связи с приложением контейнера. Класс ExternalInterface является заменой функции fscommand(). Примечание. Если потребуется воспользоваться старой функцией fscommand() (например, для сохранения совместимости со старыми приложениями или взаимодействия со сторонним приложением контейнера SWF или автономным проигрывателем Flash Player), она остается доступна на уровне пакета в пакете flash.system.
Класс ExternalInterface является подсистемой, которая позволяет легко связываться из ActionScript и Flash Player с кодом JavaScript на странице HTML или с любым приложением для настольных систем, включающим экземпляр Flash Player. Класс ExternalInterface доступен только при следующих условиях:
Во всех остальных ситуациях (например, при запуске в автономном проигрывателе) свойство ExternalInterface.available возвращает значение false. Из ActionScript можно вызвать функцию JavaScript на странице HTML. Внешний API предлагает следующие усовершенствованные функции по сравнению с fscommand():
Важная информация. Если имя, присвоенное экземпляру Flash Player на странице HTML (атрибут id для тега object), включает дефис (-) или другие символы, определенные в качестве операторов в JavaScript (например, +, *, /, \, . и так далее), вызовы ExternalInterface из ActionScript при просмотре веб-страницы контейнера обозревателем Internet Explorer работать не будут. Кроме того, если теги HTML, определяющие экземпляр Flash Player (теги object и embed), вложены в тег HTML form, вызовы ExternalInterface из ActionScript работать не будут.
|
|