【发布时间】:2012-08-17 07:37:18
【问题描述】:
我有以下回调:
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("*"); 后它可以工作。为什么我需要这样做,即使在 localhost 上进行测试也是如此?是同一个域,不是吗?
【问题讨论】:
-
你是通过localhost查看而不是像C:/my_hosting_area/htdocs这样的路径
-
可能是我打开了一个本地文件,比如
c:/...。 c:/something 不也被视为本地域吗?
标签: javascript flash actionscript externalinterface