我正在写文章,不小心按了F5刷新 或者 backspace后退键 的时候,jQuery如何在浏览器 关闭、刷新、回退的时候,弹出提示窗口
var UnloadConfirm = {};
UnloadConfirm.MSG_UNLOAD = "数据尚未保存,离开后可能会导致数据丢失\n\n您确定要离开吗?";
UnloadConfirm.set = function(a) {
window.onbeforeunload = function(b) {
b = b || window.event;
b.returnValue = a;
return a
}
};
UnloadConfirm.clear = function() {
fckDraft.delDraftById();
window.onbeforeunload = function() {
}
};
UnloadConfirm.set(UnloadConfirm.MSG_UNLOAD);
监听浏览器事件(回退,刷新)事件就行
document.onkeydown = function(event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 27) { // 按 Esc
window.event.returnValue = false;
var r = confirm("是否回退到上一个页面");
if (r == true) {
history.go(-1)
}
return false;
}
if (e && e.keyCode == 116) { // 按 F5
window.event.returnValue = false;
var r = confirm("是否刷新当前页面");
if (r == true) {
history.go(0)
}
return false;
}
};
这种是监听按键阻止事件,然后自定义调用刷新,上一种是调用的浏览器方式