Внешний интерфейс недоступен - PullRequest
0 голосов
/ 05 января 2010

Я тестирую программу во FlashDevelop, которая использует Flash Player 10. Для работы нужен externalInterface, но при запуске этой простой тестовой программы отображается «ExternalInterface недоступен». В чем может быть проблема здесь? Как мне заставить работать ExternalInterface?

<mx:Script>
    <![CDATA[
        import mx.controls.Alert;

        private function init():void {
            if (ExternalInterface.available) {
                ExternalInterface.call("alert",
                        "ExternalInterface is available");
            } else {
                Alert.show("ExternalInterface is not available");
            }
        }
    ]]>
</mx:Script>

<mx:ApplicationControlBar dock="true">
    <mx:Button id="button"
            label="ExternalInterface.available"
            click="init();" />
</mx:ApplicationControlBar>

P.s - Кстати, этот скрипт показывает «Внешний интерфейс доступен», когда я запускаю его в своем браузере. Только когда я запускаю его в Flash Player 10, он недоступен.

Ответы [ 2 ]

7 голосов
/ 05 января 2010

ExternalInterface не существует в автономном проигрывателе:

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000339.html

Во всех других ситуациях (например, при работе в автономном проигрывателе) свойство ExternalInterface.available возвращает значение false.

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

0 голосов
/ 05 января 2010

Взгляните на пример ExternalInterface во флэш-документе as3. Существует также настройка HTML.

В основном вам нужно убедиться, что вы используете ту же строку для имени встраивания , что и для идентификатора объекта , html-тегов, как вы можете видеть в вашем пример из flexamples .

Посмотрите на источник HTML на этом сайте.

...