JavaScript返回拒绝访问

时间:2010-03-16 10:59:36

标签: javascript access-denied

我遇到了一个场景,在执行javascript时随机时间我会收到“拒绝访问”。它不可重复,并且发生在我的应用程序的随机位置。没有迹象表明它在日志中造成了什么,我真的对此感到茫然。它似乎只是UI问题。但是,没有理由它应该出现,因为我没有任何此类权限检查可以被触发。

提前致谢

2 个答案:

答案 0 :(得分:5)

如果您尝试访问其他框架的窗口对象,或者执行ajax请求以从其他网站加载信息等,除非1)资源来自{{3},否则您将获得访问被拒绝错误或者B)您正在使用启用了same origin的浏览器,该资源支持CORS,并允许您访问。

我无法立即想到JavaScript中的其他访问被拒绝错误,所以我会仔细查看您尝试访问其他窗口对象或执行Ajax请求的任何地方。

这是一个很大的延伸(并不打算成为MS-bashing),但是如果你只是在IE而不是其他浏览器上看到这个,那么IE在将id和{{1页面上的命名空间,所以如果(例如)你在页面上有一个iframe,其页面上的name与你页面上的其他内容name相同,而你正试图访问其他内容,IE可能会认为您正在尝试访问iframe - 如果iframe包含的内容不符合SOP,则会出现访问问题。再一次,一段时间,但我看到人们与IE一起遇到idid问题很多次......微软的CORS说这是IE6和IE7中的一个问题但不是在IE8中,所以这是一个积极的举动。

答案 1 :(得分:1)

请记住,JavaScript必须从正在运行的完全相同的域中加载信息。

希望这有帮助。