卸载前检测刷新与关闭的javascript

卸载前检测刷新与关闭的javascript,javascript,html,Javascript,Html,使用以下功能可以检测用户使用的按钮 按下刷新按钮还是关闭按钮?如果没有,还有别的办法吗 $(window).bind('beforeunload', function(event) { return 'pls save ur work'; }); 答案很简单:否-浏览器的安全模型不允许您明确检测用户选择以何种方式离开您的页面(刷新/关闭/内部链接/外部链接) 可以使用cookie在用户加载您的页面时检查他们以前是否在同一会话中位于该站点(例如,检测他们是否已刷新),但不能在刷新之前:

使用以下功能可以检测用户使用的按钮 按下刷新按钮还是关闭按钮?如果没有,还有别的办法吗

$(window).bind('beforeunload', function(event) {
    return 'pls save ur work';
});

答案很简单:否-浏览器的安全模型不允许您明确检测用户选择以何种方式离开您的页面(刷新/关闭/内部链接/外部链接)

可以使用cookie在用户加载您的页面时检查他们以前是否在同一会话中位于该站点(例如,检测他们是否已刷新),但不能在刷新之前:

一种不完全的方法是在页面卸载之前检测他们是否按下了“F5”或“Ctrl+R”或“Cmd+R”(刷新的键盘快捷键)。这将检测某些刷新,但不会检测用户实际单击刷新按钮的位置

(函数($){
var refreshKeyPressed=false;
var modifierPressed=假;
var=116;
var-rkey=82;
var modkey=[172249193];
//检查刷新键
$(文档).bind(
“按下键”,
功能(evt){
//检查刷新
if(evt.which==f5key | | window.modifierPressed&&evt.which==rkey){
refreshKeyPressed=true;
}
//检查修改器
if(modkey.indexOf(evt.which)>=0){
modifierPressed=true;
}
}
);
//检查刷新键
$(文档).bind(
“keyup”,
功能(evt){
//检查撤消键
if(evt.which==f5key | | evt.which==rkey){
refreshKeyPressed=false;
}
//检查修改器
if(modkey.indexOf(evt.which)>=0){
modifierPressed=false;
}
}
);
$(窗口).bind('beforeunload',函数(事件){
var message=“未刷新”;
如果(按刷新键){
message=“刷新”;
}
event.returnValue=消息;
返回消息;
});
}(jQuery));
您还可以在单击链接时检测链接的目标是否位于同一站点上: