我在服务器A上有一个index.html。
在index.html中,我从服务器B嵌入了一个swf。
swf包含一个init flash.external.ExternalInterface.call(“alert”,“externalalert”);
当我在服务器B上运行swf时它工作正常,当我通过服务器A上的index.html运行swf时,我得到一个:安全沙箱违规:ExternalInterface调用者......
它在IE中有效。
有谁知道我做错了什么。
谢谢!
答案 0 :(得分:4)
修复是添加
System.security.allowDomain("*");
在您的AS代码中。 ExternalInterface
要求在执行HTML-SWF跨脚本编写时设置allowDomain
。
请注意,您还需要在swf embed标记中设置allowScriptAccess="always"
以允许跨脚本编写。
答案 1 :(得分:0)
你没有做错任何事。这是Flash播放器的限制。不允许在不同域之间进行交互。您可以尝试使用crossdomain.xml
。 (但我不知道这是否适用于你ExternalInterfaces
)。
更多信息可以在这里找到: