小编tgr*_*ass的帖子

忽略Safari的初始页面加载popstate

我正在使用pushState并根据当前页面的history.state生成popstate事件的页面视图.

如果没有history.state我(希望)重新加载文档.

window.onpopstate = function(event) {
    if( window.history.state !== null ){
        // page was ajax created and history created by pushState
        // recreate with ajax
    }
    else{
        // page was loaded from server normally
        document.location.reload()
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是Safari在初始页面加载时触发popstate事件.Chrome和Firefox在后退/前进浏览器按钮上激活popstate.

我想忽略Safari上的初始加载popstate事件(理想情况下没有setTimeout且没有浏览器检测).

此外,该网站是一个混合链接 - 一些将触发pushState和一些将从服务器正常加载 - 所以如果用户是十页导航历史记录并单击后退按钮,历史将混合pushState页面和非pushState页面.

javascript safari jquery

7
推荐指数
1
解决办法
4001
查看次数

标签 统计

javascript ×1

jquery ×1

safari ×1