外部接口不可用

时间:2010-01-05 11:35:04

标签: flash actionscript-3 externalinterface

我在使用Flash播放器10的FlashDevelop中测试一个程序。需要使用externalInterface才能工作,但在运行这个简单的测试程序时,它会显示“ExternalInterface is available”。这可能是什么问题?如何让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 个答案:

答案 0 :(得分:7)

独立播放器中不存在ExternalInterface:

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

  

在所有其他情况下(例如在独立播放器中运行),ExternalInterface.available属性返回false。

用于与包含Flash播放器的东西进行通信,并且当在独立播放器中运行时,没有任何内容包含它,因此没有任何内容可以与之通信。

答案 1 :(得分:0)

查看flash as3文档中的ExternalInterface示例。还有一个html设置。

基本上,您需要确保使用相同的字符串嵌入名称对象ID ,html标记相同,如您所见你的example from flexamples

查看该网站上的html源代码。