js浏览器回退——window.onpageshow

JavaScript07

js浏览器回退——window.onpageshow,第1张

当一条会话历史记录被执行的时候将会触发页面显示(pageshow)事件。(这包括了后退/前进按钮操作)

一般使用方法是通过 addEventListener

但是有时这种写法没有效果,使用下面写法代替

传统方法很难检查,但浏览器有本地缓存功能, 如果你的浏览器支持html5,那么使用下面的方法。

if(localStorage.getItem('state') == 1) {

    alert('这是后退后的页面')

    localStorage.setItem('state', 0)

    location.href = location.href

}

window.onbeforeunload = function () {

    localStorage.setItem('state', 1)

}

原理很简单,离开就设置一个状态, 后退发现状态不是初始状态,那么就一定是跳到其他地方过,就刷新页面。

如果你的浏览器不支持html5,那么使用cookies 一样可以做。