javascript - 如何禁用浏览器的clt+u?

标签 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) 快捷方式。 如何禁用键盘事件意味着(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>

最佳答案

<!--[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 查看源)

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

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

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

关于javascript - 如何禁用浏览器的clt+u?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151677/

相关文章:

javascript - 定义正则表达式

javascript - 如何改进jquery功能

javascript - React State 与 Props - 为什么状态变化没有反射(reflect)在组件中?

html - 清洁代码添加图像

CSS 在内容溢出时换行

javascript - JQuery 未在单击时添加类

javascript - 如何检测正在播放的 Flash 视频的时间

c# - C#中事件的正常实现和显式实现之间有什么区别

javascript - 我怎样才能使这个 jquery 函数专注于只处理我想要的链接,而不是使用页面上的任何 <a>?

iphone - 我如何从 iphone 应用程序获取所有日历及其事件?