我有以下回调:
ExternalInterface.addCallback("wasCalledFromJS", callFromJavaScript);
它是这样实现的:
public function callFromJavaScript(dir:String):void {
try {
scriptName = dir.toString();
} catch (e:*) {
Alert.show(e.toString());
}
}
然而,当我尝试从JS控制台调用它时,采用以下方式(使用在How to call flash actionscript callback method from javascript?中定义的方法):
>>> thisMovie("Flex4TextArea1").wasCalledFromJS("1")
"Error in Actionscript. Use a try/catch block to find error."
它看起来好像代码甚至没有到达我的try/catch块。你能发现我做错了什么吗?
编辑:添加Security.allowDomain("*");
后即可工作。为什么我需要这样做,即使在本地主机上测试也是如此?它是同一个域,不是吗?
由于未设置域特权而导致错误。