JavaScript后退按钮事件

时间:2015-06-30 16:22:11

标签: javascript back

我不想检测用户是否按了我的页面上的后退按钮。

我想检测用户是否按下其他人的页面上的后退按钮并返回到我的页面。

如果是这种情况,我需要重新加载页面。

2 个答案:

答案 0 :(得分:1)

您可以使用window.history进行游戏,也可以在localstorage或Cookie中为用户存储一些值。 (供参考,MDN article

例如,当用户在您的网页上时,请检查window.history.length的值;然后导航到其他地方;然后点击“返回”返回上一页。现在再次比较window.history.length - 它是不同的(至少对我而言,在Chrome中)。

TL; DR - 这不是一个万无一失的方法,但对你来说这可能是一个很好的黑客攻击。

答案 1 :(得分:0)

Here's what I ended up doing. It works, but let me know if you have a better solution:

window.addEventListener('unload', unload)
function unload() {
    localStorage.setItem('reload',1)
}

var reload = localStorage.getItem('reload')
reload = parseInt(reload,10)
if (reload) {
    localStorage.setItem('reload',0) // false doesn't work here.
    window.removeEventListener('unload', unload)
    window.location.reload()
}