1

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

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

这是用于禁用右键单击但不适用于 (control+u) 快捷方式的脚本。如何禁用键盘事件意味着(Ctrl+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>
4

1 回答 1

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

它包含在阻止 IE 解析脚本的条件注释中(IE<9 不支持 addEventlistener 并且 AFAIK IE 不使用 CTRL+U作为视图源)

但是,我不建议使用它,您永远不会知道浏览器绑定了哪些快捷方式(尽管似乎大多数浏览器都使用此快捷方式进行查看源,但可能是该快捷方式已被用户修改)

对页面源感兴趣的用户在访问源时不会有任何问题。

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

于 2013-10-03T15:07:10.827 回答