9

这个错误刚刚开始在我们的网站上出现。

拒绝调用 Location.toString 方法的权限

我看到 google 帖子表明这与 flash 和我们的 crossdomain.xml 有关。是什么导致了这种情况发生,您如何解决?

4

4 回答 4

9

您是否使用 javascript 在指向不同域的帧/iframe 之间进行通信?JS“同源/域”安全策略不允许这样做。即,如果你有

<iframe name="foo" src="foo.com/script.js">
<iframe name="bar" src="bar.com/script.js">

并且 bar.com 上的脚本尝试访问window["foo"].Location.toString,你会得到这个(或类似的)异常。另请注意,如果您拥有来自不同子域的内容,同样的来源策略也可以生效。在这里,您可以通过示例找到简短的说明。

于 2008-08-27T16:14:34.293 回答
2

您可能遇到过此帖子,但似乎闪存安全更新更改了 crossdomain.xml 的行为,要求您指定安全策略以允许从远程域发送任意标头。Adobe 知识库文章(也在原帖中引用)在此处

于 2008-08-27T16:19:07.697 回答
0

这篇文章建议需要将一行添加到 crossdomain.xml 文件中。

<allow-http-request-headers-from domain="*" headers="*"/>
于 2008-08-27T17:19:45.087 回答
0

这可能是由于 4 月初发布的 Flash Player 版本的更改造成的,我不太确定具体细节,但我认为此功能存在安全问题。

您需要做的确实是将其添加到您的 crossdomain.xml (应该在您的服务器 webroot 中)

You can read more here: http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html

A typical example of a crossdomain.xml is twitters, more info about how the file works can be found here.

于 2008-08-27T19:58:40.650 回答