【问题标题】:onpopstate in chrome and firefoxchrome 和 firefox 中的 onpopstate
【发布时间】:2023-03-20 02:59:01
【问题描述】:

我使用 pushStateonPopState 来创建 ajax 导航。

但是这里有个小问题。

在第一次访问页面或页面刷新时,chrome 会触发 onPopState 事件,但 firefox 不会。

这会导致 chrome 加载内容两次,但 firefox 运行良好。

我不知道哪个工作正常,我该如何解决?

似乎这种行为在旧版本中是相反的:))

HTML5 onpopstate on page load

【问题讨论】:

    标签: html firefox google-chrome


    【解决方案1】:

    我解决了问题:

    window.onpopstate = function(event) 
    {
        if (!event.state) return;
        ajaxPage(document.location.href);
    };
    

    【讨论】:

      【解决方案2】:

      这在我早期的 Safari 版本中不起作用。 如果

      • 在 dom 准备好之前我们不会使用它
      • Chrome 的初始 onpopstate 之前已触发

      这里的一般问题是Chrome:

      当前的 HTML5 规范说,在初始页面加载时永远不应触发“popstate”。 Chrome 和大多数 Safari 版本不遵循这一点。 Chrome 团队应注意 - 请“星标”

      http://code.google.com/p/chromium/issues/detail?id=63040

      【讨论】:

        猜你喜欢
        • 2012-01-01
        • 1970-01-01
        • 2011-04-22
        • 1970-01-01
        • 1970-01-01
        • 2014-12-11
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多