我正在尝试通过跨域的ExternalInterface启用Javascript和Flash之间的通信。当Javascript位于与SWF相同的域中时,Javascript可以正常工作。但在某些情况下,HTML位于域A上,而Javascript和Flash都位于域B上。我已经完成了以下所有操作:
- 嵌入标签具有
allowScriptAccess="always"
属性(对象也有该属性) - 我的SWF文件的Actionscript使用了
Security.allowDomain("*")
- 我的SWF还调用了
Security.allowInsecureDomain("*")
- 域A和域B都有一个
/crossdomain.xml
文件,其中包含allow-access-from domain="*"
SWF能够调用页面上的Javascript,但是当我使用Javascript调用由ExternalInterface公开的函数时,出现以下错误:
调用NPObject的方法时发生错误! [插件异常:Actionscript 中的错误。 使用try / catch块查找错误.]
这是ActionScript 2,因此不提供ExternalInterface.marshallExceptions
。