【问题标题】:Unsafe JavaScript attempt to access frame warning in Safari不安全的 JavaScript 尝试访问 Safari 中的框架警告
【发布时间】:2010-10-25 22:05:44
【问题描述】:

我在我的应用程序中使用 Facebook Connect。我让它运行得很好,但是在 Safari 错误控制台中,我看到了这样的错误:

Unsafe JavaScript attempt to access frame with URL http://...#... from frame with URL http://www.connect.facebook.com/extern/login_status.phpapi_key=..&extern=2&channel=http...xd_receiver.htm.
Domains, protocols and ports must match.

该应用程序似乎运行正常,但我们看到 Safari 会出现周期性挂起和其他不良行为。当我运行其他 Facebook Connect 应用程序时,有时我也会看到这个错误,所以我认为这不是我们的实施问题。忽略此警告是否安全?

【问题讨论】:

    标签: javascript safari facebook warnings


    【解决方案1】:

    这意味着您正在尝试某种形式的跨域访问,这是不安全的——虽然它可能看起来是良性的,但如果您使用 nightlies 或 Safari4 beta可以在 web 检查器中使用调试器,并使其在所有异常时中断,这将让您看到它何时实际尝试跨域访问。

    至于挂起,如果你能找到某种简化的测试用例,如果你能把它们提交到http://bugs.webkit.org,那就太好了

    【讨论】:

      【解决方案2】:

      Safari 的跨框架安全性比其他浏览器更严格,我已经做了特定的 try/catch 包装器来处理这些情况,如果它可以正常工作,那就太好了。

      无论哪种方式,都会按照 olliej 的建议将错误发布到上游。

      【讨论】:

        【解决方案3】:

        这是一条红鲱鱼。请求仍然通过,一切正常,但 WebKit 仍然记录异常。

        【讨论】:

        • 错了。有时它是,有时它会阻止它。
        • 我正在尝试用js播放YT iframe视频,确实通话被阻止了。
        猜你喜欢
        • 2011-05-18
        • 1970-01-01
        • 2013-02-02
        • 1970-01-01
        • 2011-08-05
        • 2011-11-18
        • 2011-09-14
        相关资源
        最近更新 更多