“不安全的 JavaScript 尝试使用 URL 访问帧...”在 Chrome 网页工具包检查器中不断生成错误

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

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

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

谢谢。


答案 1

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


答案 2

问题出在哪里?

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

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

  • The Facebook JS SDK
  • Vimeo Iframe Embed
  • 谷歌地图 Iframe 嵌入

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

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

快速解答

不可以,您不能(只是)在 Chrome 控制台中禁止显示这些错误。

解决 方案?

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