如何为浏览器禁用clt + u?

时间:2013-10-03 05:46:53

标签: javascript html events

当我浏览禁用浏览器的右键单击和快捷方式时,在此网址中找到解决方案

http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/138420/how-to-disable-view-source-and-ctrlc-from-a-site

这里是用于禁用右键单击而不是(control + u)快捷键的脚本。 如何禁用键盘事件意味着(cltrl + u事件):

<script>
     var isNS = (navigator.appName == "Netscape") ? 1 : 0;
    if(navigator.appName == "Netscape")               
   document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
    function mischandler(){
     return false;
  }
      function mousehandler(e){
     var myevent = (isNS) ? e : event;
          var eventbutton = (isNS) ? myevent.which : myevent.button;
        if((eventbutton==2)||(eventbutton==3)) return false;
       }
        document.oncontextmenu = mischandler;
       document.onmousedown = mousehandler;
        document.onmouseup = mousehandler;
</script>

1 个答案:

答案 0 :(得分:1)

<!--[if ! IE]><!-->
<script>
document.addEventListener('keydown',function(e){
  if(e.ctrlKey && e.keyCode===85){e.preventDefault();return false;}
});
</script>
<!--<![endif]-->

它包含在条件注释中,阻止IE解析脚本(IE&lt; 9不支持addEventlistener,AFAIK IE不使用 CTRL + U for viewsource)

但是,我不建议使用它,你永远不会知道哪些快捷方式绑定到浏览器(虽然似乎大多数浏览器都使用这个快捷方式的视图源,但可能是快捷方式被修改了用户)

对页面源感兴趣的用户以某种方式访问​​源代码不会有任何问题。

使用它的唯一合理理由恕我直言,当你有另一个应用程序绑定到这个快捷方式时(例如,你用它进行文本格式化的编辑器)