我有一个运行某种东西的JS应用程序。

我想禁用ctrl + r和f5,所以我没有刷新浏览器。

我完全禁用ctrl + r,并用我自己的处理方式(ajax,对RAP,DB的调用等)替换禁用的f5刷新。

两种机制都能在FF,Chrome,Opera和Safari上正常工作。
这意味着我可以使用垃圾邮件自动组合键,一切正常。

但是,在IE 9中,当我按f5快速顺序执行时,它会进行定期刷新,这对我来说意味着IE 9会花费很长时间进行操作,而它还没有准备好进行下一个按键功能。

$(document).keydown(function (event) {
    if ((event.ctrlKey == true && (event.keyCode == 17 || event.keyCode == 82)) || (event.keyCode == 116)) {
        event.preventDefault();
        if (event.keyCode == 116) {
            // Here is the own Reload Logic which contains calls on DB and Server.
        }
        if ($.browser.msie) {
            window.event.stopPropagation();
            window.event.keyCode = 0;
            window.event.returnValue = false;
            window.event.cancelBubble = true;
        }
    }
});


是否有可能以某种方式管理此问题以在IE 9中快速按f5键(使其一直处于禁用状态)?

最佳答案

您只能使用WebBrowserShortcutsEnabled阻止F5,但是您将杀死该页面上浏览器具有的所有其他快捷方式。您应该尝试阻止人们离开网页的过程。这将在您想要实现的目标中提高生产力。

window.onbeforeunload = function() {
    return "You are trying to leave.";
}


请勿将其用作安全措施,例如参加网络测试/考试的学生。但是,如果只是为了防止意外刷新,就可以解决问题。

关于javascript - 在Internet Explorer 9中禁用F5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14647207/

10-10 10:42