我在使用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中运行它时才可用。
答案 0 :(得分:7)
独立播放器中不存在ExternalInterface:
在所有其他情况下(例如在独立播放器中运行),ExternalInterface.available属性返回false。
用于与包含Flash播放器的东西进行通信,并且当在独立播放器中运行时,没有任何内容包含它,因此没有任何内容可以与之通信。
答案 1 :(得分:0)
查看flash as3文档中的ExternalInterface示例。还有一个html设置。
基本上,您需要确保使用相同的字符串嵌入名称与对象ID ,html标记相同,如您所见你的example from flexamples。
查看该网站上的html源代码。