在Chrome Webkit检查器中不断生成“不安全的JavaScript尝试访问带有URL的框架...”错误


129

例如,在使用Facebook API时,Chrome(或其他任何Webkit浏览器)会抛出大量此类“不安全的JavaScript尝试访问带有URL的框架...”。

它不会干扰实际操作,但确实会使javascript控制台基本无法使用。

我想知道是否有一种方法可以专门在控制台中抑制这些错误?或者,如果您还有其他解决方案,我将不胜感激。

谢谢。


1
目前,我正在使用仅将“控制台”选项卡设置为仅显示日志的解决方法。我正在寻找一种解决方案,使我可以跟踪错误(不是这个错误)。
尼尔·萨卡

最好提供一个有关如何使用API​​的示例。发生这种情况的原因有很多。
金兰

我知道您的意思,但是我可以肯定,任何Facebook集成都会发生这种情况。例如,在此Domino网站上(正在生产中)打开webkit js控制台(生产中)pizzaholdouts.com
Neil Sarkar 2010年

1
您不是只是尝试跨站点脚本吗?您是否要从自己的服务器请求Facebook API地址?方式有点不同。
Tomasz Durka,2010年

4
不要求任何内容,我只是放入样板内容以使js sdk正常工作 developers.facebook.com/docs/reference/javascript
Neil Sarkar

Answers:


19

您可以通过使用--disable-web-security命令行选项运行chrome来在测试期间允许跨域请求。这可能应该消除错误(并允许FB监视您的测试;)


嗯,这很有趣...除了命令行以外,有没有办法设置该选项?我从命令行尝试了此操作:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security它似乎起作用了!但它说它无法加载我的个人资料...任何想法如何从应用程序内设置该标志,或将其设置为默认值吗?
尼尔·萨卡

4
作为更新,我现在仅使用chrome,我仍然很想知道这个答案
Neil Sarkar

2
open -a '/Applications/Google Chrome Canary.app' --args --disable-web-security
sandstrom 2012年

4

当加载来自其他域的源并尝试访问document.cookie时,会发生这种情况。头部源(脚本标签)以及iframe文档都会发生这种情况,而iframe文档由于某种原因试图访问document.cookie。


4

有什么问题?

Unsafe JavaScript attempt to access frame with URL...Chrome JS控制台中有大量错误消息。

正如@thechrisproject指出的那样,这些错误是由许多知名的第三方API和小部件引起的,包括但不限于:

  • Facebook JS SDK
  • Vimeo iframe嵌入
  • Google Maps Iframe嵌入

我对原因的理解:( 如果我错了,请纠正我)

与竞争性浏览器相比,Chrome具有更严格的安全设置和/或显示更多此类错误。API /小工具/嵌入式作者试图做的事情(跨域/框架)在所有浏览器中都不起作用(可能是针对他们自己的报告/分析),但如果不这样做,实际上并不会影响其小部件的可用性工作(只会引起很多烦人的错误)

快速回答

不,您不能(只是)在chrome控制台中抑制这些错误。

解决方案?

  • 处理它。这些错误实际上并没有破坏这些第三方API和小部件,它们只是使控制台更加难以使用。
  • 您可以将控制台设置为仅记录警告,日志或调试消息。这将隐藏所有错误。
  • 您可以使用其他浏览器
  • 作为@Dagg_Nabbit。指出,您可以通过使用--disable-web-security命令行选项运行chrome来允许跨域请求。此处更多信息:在Chrome中禁用同一来源策略。请注意,此设置会对浏览器的安全性产生负面影响。我有2个chrome快捷方式,因此无论有没有此标志,我都可以打开它。

3

由于我们不能责怪Google的人构建如此安全的浏览器,因此我认为最好的解决方案是使用Facebook的服务器端解决方案(例如PHP SDK),它将为您节省很多很多,很头疼 我在使用FB javascript SDK时看到的唯一优势是弹出式登录名,您可以使用javascript / jQuery来完成此操作。


6
为什么使用PHP SDK(或其他服务器端SDK)会省去很多麻烦呢?
史蒂夫·霍恩

@steve:Chrome阻止不安全请求的唯一事实在很大程度上解决了客户端处理的不安全性。
Jhourlad Estrella 2011年

2
在决定将逻辑放在服务器端还是客户端时,对JS控制台的IMHO污染不应成为主要考虑因素。
Zach Lysobey

1
性能,安全性,代码组织/可维护性,可移植性-我首先要考虑的所有事项。 stackoverflow.com/questions/1516852/...
扎克Lysobey

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.