确定用户是否在onunload中重新加载当前页面

时间:2017-09-26 00:07:07

标签: javascript jquery

是否可以确定用户是否在事件window.onunloadwindow.onbeforeunload内重新加载当前页面?

我需要确定用户是否正在重新加载页面,以及是否阻止我的代码删除cookie。

window.onunload = window.onbeforeunload = function(e) {

    // How can I detect a page refresh?
    if (USER_NOT_REFRESHING)
        $.removeCookie("my_session", { path: '/' });
    else {
        // user is refreshing
    }

}

2 个答案:

答案 0 :(得分:0)

不,这是不可能的。浏览器仅指示用户正在离开,而不是原因。

答案 1 :(得分:0)

您可以尝试使用PerformanceNavigation API

因此,如果浏览器支持性能导航,那么您可以通过执行以下操作来检查重新加载:

if(performance.navigation.type===1) {
// it's a reload
}

上述方法可能不适用于代码段