使用JavaScript阻止F5键
我已经写了一些代码来阻止网页上的F5键。除了我需要显示大量数据时,它工作正常。如果在生成HTML和JavaScript代码的加载期间按F5键,我的页面将刷新 以下是我用来阻止F5键的代码:使用JavaScript阻止F5键,javascript,jquery,javascript-events,keyboard-shortcuts,Javascript,Jquery,Javascript Events,Keyboard Shortcuts,我已经写了一些代码来阻止网页上的F5键。除了我需要显示大量数据时,它工作正常。如果在生成HTML和JavaScript代码的加载期间按F5键,我的页面将刷新 以下是我用来阻止F5键的代码: document.onkeydown = fn; var fn = function (e){ if (!e) var e = window.event; var keycode = e.keyCode; if (e.which) key
document.onkeydown = fn;
var fn = function (e){
if (!e)
var e = window.event;
var keycode = e.keyCode;
if (e.which)
keycode = e.which;
var src = e.srcElement;
if (e.target)
src = e.target;
// 116 = F5
if (116 == keycode) {
// Firefox and other non IE browsers
if (e.preventDefault) {
e.preventDefault();
e.stopPropagation();
// Internet Explorer
}else if (e.keyCode){
e.keyCode = 0;
e.returnValue = false;
e.cancelBubble = true;
}
return false;
}
});
我认为在生成HTML和JavaScript代码时,此代码不起作用。我有一些非常简单的代码,用于防止我自己使用的F5。适用于IE、Chrome和Firefox:
document.onkeydown=disableF5;
var version = navigator.appVersion;
function disableF5(e)
{ var keycode = (window.event) ? event.keyCode : e.keyCode;
if ((version.indexOf('MSIE') != -1))
{ if (keycode == 116)
{ event.keyCode = 0;
event.returnValue = false;
return false;
}
}
else
{ if (keycode == 116)
return false;
}
}
function disableButtonsDown(e) {
if ((e.which || e.keyCode) == 116) e.preventDefault();
};
$(document).on("keydown", disableButtonsDown);
我有一些非常简单的代码来防止我自己使用的F5。适用于IE、Chrome和Firefox:
function disableButtonsDown(e) {
if ((e.which || e.keyCode) == 116) e.preventDefault();
};
$(document).on("keydown", disableButtonsDown);
最后一行不应该是分号吗?与其阻止F5,不如在用户离开页面时在所述过程发生时警告用户。通常情况下,他们会单击刷新按钮,而不是按F5。试试这个@KevinB如果你像我在禁用F5的项目中一样强制全屏显示,你不必担心有人会因为看不到刷新按钮而单击刷新按钮。它不应该是最后一行的分号吗?而不是阻止F5,当用户在上述过程中离开页面时,只需警告用户。通常情况下,他们会单击刷新按钮,而不是按F5。试试这个@KevinB如果你像我在禁用F5的项目中一样强制全屏显示,你不必担心有人单击刷新按钮,因为他们看不到。