例如,在使用 Facebook API 时,Chrome(或任何其他 webkit 浏览器)会抛出大量“不安全的 JavaScript 尝试使用 URL 访问框架......”。
它不会干扰实际操作,但它确实使 javascript 控制台基本无法使用。
我想知道是否有办法专门在控制台中抑制这些错误?或者,如果你们能想到其他解决方案,我将不胜感激。
谢谢。
例如,在使用 Facebook API 时,Chrome(或任何其他 webkit 浏览器)会抛出大量“不安全的 JavaScript 尝试使用 URL 访问框架......”。
它不会干扰实际操作,但它确实使 javascript 控制台基本无法使用。
我想知道是否有办法专门在控制台中抑制这些错误?或者,如果你们能想到其他解决方案,我将不胜感激。
谢谢。
--disable-web-security
您可以通过使用命令行选项运行 chrome 在测试期间允许跨域请求。这应该可以消除错误(并允许 FB 监视您的测试;)
当加载来自不同域的源并尝试访问 document.cookie 时,会发生这种情况。它发生在头源(脚本标签)以及出于某种原因尝试访问 document.cookie 的 iframe 文档中。
有什么问题?
Chrome JS 控制台中的大量Unsafe JavaScript attempt to access frame with URL...
错误消息。
正如@thechrisproject 指出的那样,这些错误是由许多著名的 3rd 方 api 和小部件引起的,包括但不限于:
我对原因的理解:( 如果我错了,请纠正我)
与竞争浏览器相比,Chrome 具有更严格的安全设置和/或显示更多此类错误。API/widget/embed 作者尝试做的事情(跨域/框架)在所有浏览器中都不起作用(可能用于他们自己的报告/分析),但如果不这样做,实际上不会影响他们的小部件的可用性工作(只会导致很多烦人的错误)
快速回答
不,您不能(只是)在 chrome 控制台中抑制这些错误。
解决方案?
--disable-web-security
,您可以通过使用命令行选项运行 chrome 来允许跨域请求。此处提供更多信息:在 Chrome 中禁用同源策略。请注意,此设置将对浏览器的安全性产生负面影响。我有 2 个 chrome 快捷方式,因此我可以使用或不使用此标志打开它。既然我们不能责怪谷歌的人构建了这样一个安全的浏览器,我认为最好的解决方案是使用Facebook的服务器端解决方案(例如PHP SDK),它会为你节省很多很多很多很多很多,很多头痛。我在使用 FB javascript SDK 时看到的唯一优势是弹出式登录,您可以使用 javascript/jQuery 自己完成。
如果在 Facebook 注册应用时,如果站点 URL 字段中没有尾部正斜杠,则可能会引发这些错误。换句话说,您需要“ http://domain.com/ ”而不是“ http://domain.com ”
您可以从developers.facebook.com/apps编辑设置 -> 基本 -> 站点 URL 检查站点 URL 设置。