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はviewsourceに CTRL+Uを使用していません)

しかし、私はそれを使用することをお勧めしません.どのショートカットがブラウザにバインドされているかは決してわかりません.

ページのソースに関心のあるユーザーは、何らかの方法でソースにアクセスするのに問題はありません。

IMHOを使用する唯一の合理的な理由は、このショートカットに別のアプリケーションがバインドされている場合です(たとえば、テキストフォーマットに使用するエディター)

于 2013-10-03T15:07:10.827 に答える