检查beforeunload是否由关闭的选项卡/窗口或刷新引起

时间:2016-07-05 14:40:45

标签: javascript events cookies browser window

我试图绕过chromes "Continue from where you left off" session cookie issue,关闭浏览器窗口/标签后不会销毁Cookie。

要做到这一点,我在窗口中添加了一个beforeunload侦听器,它会触发一个删除cookie的函数:

window.addEventListener('beforeunload', destroySession)

然而,当我刷新页面或点击&#34时,这也会破坏cookie;返回"浏览器中的按钮,因此我需要在destroySession函数中进行子顺序检查,以查看导致beforeunload发生的原因。

1 个答案:

答案 0 :(得分:1)

简短的回答是 - 你做不到。

答案很长 - 你可以设置一种复杂的方法来“检测”刷新与在一个干净的标签或窗口中打开但是(总有一个但是)注意不完美,每种方法都附带它自己的一组问题(我强烈建议不要使用它们):Check if page gets reloaded or refreshed in Javascript