使用JavaScript阻止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

我已经写了一些代码来阻止网页上的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) 
        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的项目中一样强制全屏显示,你不必担心有人单击刷新按钮,因为他们看不到。