1

我在服务器 A 上有一个 index.html。

在 index.html 中,我从服务器 B 嵌入了一个 swf。

swf 包含一个带有 flash.external.ExternalInterface.call("alert", "externalalert"); 的 init

当我在服务器 B 上运行 swf 时,它可以工作,当我通过服务器 AI 上的 index.html 运行 swf 时,会得到一个:安全沙箱违规:ExternalInterface caller...

它确实在 IE 中工作。

有谁知道我做错了什么。

谢谢!

4

2 回答 2

4

解决方法是添加

System.security.allowDomain("*");

在您的 AS 代码中。ExternalInterface需要在allowDomain执行 HTML-SWF 跨脚本时设置。

请注意,您还需要allowScriptAccess="always"在 swf 嵌入标签中设置以允许跨脚本。

于 2009-04-06T09:46:19.003 回答
0

你没有做错什么。这是 Flash 播放器的限制。不允许不同域之间的交互。您可以尝试使用crossdomain.xml. (但我不知道这是否适用于你ExternalInterfaces)。更多信息可以在这里找到:

于 2009-04-06T09:45:25.197 回答