2013-02-01 61 views
0

我有一个运行某种东西的JS应用程序。在Internet Explorer 9中禁用F5

我想禁用CTRL +[RF5所以我没有得到刷新浏览器。

我完全禁用CTRL +[R和我自己处理更换残疾人F5刷新(AJAX,呼吁RAP,DB等)

两个力学上的FF做工精细,铬,Opera和Safari。
这意味着我可以垃圾邮件机器人组合键和一切工作完美。

在IE 9不过,当我按F5 顺序快但它确实做定期刷新,这对我意味着IE 9需要长期的运作和没有准备下一次的keydown功能。

$(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; 
     } 
    } 
}); 

是否有可能以某种方式管理这种快速按下F5 (所以它一直被禁用)在IE 9?

+1

你真的认为改变普通用户控制功能与页面刷新一样基本是一个好主意吗?您应该宁愿使用backbone.js或类似的方式来处理它,并使用通常不用的按钮来实现其他控件。 – Simon

回答

4

您只能使用WebBrowserShortcutsEnabled阻止F5,但是您将终止浏览器在该页面上的所有其他快捷方式。您应该尝试阻止人们离开网页的过程。这将会提高你想要达到的效率。

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

这不应该被用来作为一种安全措施寿,像学生参加网络测试/考试。但如果只是为了防止意外刷新,这应该会有所斩获。