2013-02-01 83 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."; 
} 

這不應該被用來作爲一種安全措施壽,像學生參加網絡測試/考試。但如果只是爲了防止意外刷新,這應該會有所斬獲。