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

时间:2010-06-09 21:40:34

标签: javascript facebook google-chrome webkit opengraph

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

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

我想知道是否有办法在控制台中专门抑制这些错误?或者,如果有其他解决方案,你们可以想到,我真的很感激。

感谢。

5 个答案:

答案 0 :(得分:19)

答案 1 :(得分:4)

当加载来自不同域的源并尝试访问document.cookie时会发生这种情况。它发生在头源(脚本标签)以及因某种原因试图访问document.cookie的iframe文档中。

答案 2 :(得分:4)

问题是什么?

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

作为@thechrisproject points out,这些错误是由许多声誉良好的第三方api和小部件引起的,包括但不限于:

  • Facebook JS SDK
  • Vimeo Iframe嵌入
  • Google地图iframe嵌入

我对为什么 的理解(如果我错了请纠正我)

  

与竞争对手的浏览器相比,Chrome具有更严格的安全设置和/或显示更多此类错误。 API / widget / embed作者尝试做的事情(跨域/框架)在所有浏览器中都不起作用(可能是为了他们自己的报告/分析),但实际上并没有影响他们的小部件的可用性,如果它没有工作(只会导致很多恼人的错误)

快速回答

  

不,你不能()在Chrome控制台中抑制这些错误。

<强>方案吗

  • 处理它。这些错误实际上并没有破坏这些第三方api和小部件,它们只会使控制台更难以使用
  • 您可以将控制台设置为仅记录警告,日志或调试消息。这将隐藏所有错误。
  • 您可以使用其他浏览器
  • 作为@Dagg_Nabbit. pointed out,您可以通过使用--disable-web-security命令行选项运行chrome来允许跨域请求。更多信息请访问:Disable same origin policy in Chrome。请注意,此设置会对浏览器的安全性产生负面影响。我有2个镀铬快捷键,所以无论有没有这个标志我都可以打开它。

答案 3 :(得分:3)

由于我们不能责怪Google的人员构建这样一个安全的浏览器,我认为最好的解决方案是使用Facebook的服务器端解决方案(例如PHP SDK),它会为您节省很多,很多,很多很多,很多头痛。我在使用FB javascript SDK时看到的唯一优势是弹出式登录,你可以使用javascript / jQuery自己做。

答案 4 :(得分:2)

如果在向Facebook注册应用程序时,在“站点URL”字段中没有向前的斜杠,则可能会引发这些错误。换句话说,您需要“http://domain.com / ”而不是“http://domain.com

您可以从developers.facebook.com/apps修改设置 - &gt;中查看网站网址设置。基本 - &gt;网站网址。