错误是 SecurityError: DOM Exception 18,它发生在 replaceState@https://connect.facebook.net/en_US/fbds.js 第 9 行,位置 2343

我们使用 hello.js 登录 facebook

似乎在访问 replaceState 时遇到问题,并且:

  • 仅在 safari、桌面和移动(9.0 和 9.1)中发生
  • 发生几天,然后停止数周,然后返回

  • 我一直无法重现它,我们有客户端错误报告,我看到这些错误来来去去。

    问题是,有没有人经历过并解决过这个问题?

    最佳答案

    在过去的几天里,我们在 JQuery 移动版中使用 replaceState 遇到了这种情况。

    https://forums.developer.apple.com/thread/36650

    摘要

    一个简单的复制案例,它在 Safari 控制台中给出了 dom 异常 18:

    for (var i=0 ; i<=100; i++) { window.history.replaceState(null, null, "http:/www.apple.com/"); }
    

    来自苹果的回应:



    分辨率

    对我们来说,解决方案只是从 JQuery 移动框架中删除有问题的行:
    window.history.replaceState( state, state.title || document.title, href );
    

    我很欣赏这可能对您的情况没有帮助,但至少它可能有助于解释您所看到的行为。

    10-07 18:26