129

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

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

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

谢谢。

4

5 回答 5

19

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

于 2010-07-25T02:33:54.757 回答
4

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

于 2011-05-11T17:47:10.527 回答
4

有什么问题?

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

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

  • Facebook JS SDK
  • Vimeo iframe 嵌入
  • 谷歌地图 iframe 嵌入

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

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

快速回答

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

解决方案?

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

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

于 2011-03-09T05:45:00.300 回答
2

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

您可以从developers.facebook.com/apps编辑设置 -> 基本 -> 站点 URL 检查站点 URL 设置。

于 2012-04-19T05:49:45.660 回答