这个javascript错误是什么意思?拒绝调用Location.toString方法的权限

时间:2008-08-27 16:02:01

标签: javascript flash

此错误刚刚开始在我们的网站上突然出现。

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

我看到谷歌帖子表明这与flash和我们的crossdomain.xml有关。导致这种情况发生的原因以及如何解决?

4 个答案:

答案 0 :(得分:8)

您是否使用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,您将获得此(或类似)例外。另请注意,如果您有来自不同子域的内容,也可以启用相同的原始策略。 Here您可以通过示例找到它的简短说明。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

post表示需要将一行添加到crossdomain.xml文件中。

<allow-http-request-headers-from domain="*" headers="*"/>

答案 3 :(得分:0)

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

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

您可以在此处阅读更多内容:http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html

crossdomain.xml的一个典型示例是twitters,有关文件工作原理的更多信息可以找到here.