1

我正在尝试禁用滚动条上的右键单击操作或删除页面上右键单击菜单窗口中的检查元素选项。我正在使用以下代码来满足我的要求。但是在哪里遇到了我无法找到的问题,并且其他解决方案也没有想到。请在下面找到我的示例代码。请任何帮助表示赞赏。

示例应用程序- 使用此链接,您可以检查代码。

<html oncontextmenu="return false;">
   <head>
      <style>
      </style>
      <script >
         document.onkeypress = function (event) {
         event = (event || window.event);
         return keyFunction(event);
         }
         document.onmousedown = function (event) {
         event = (event || window.event);
         return keyFunction(event);
         }
         document.onkeydown = function (event) {
         event = (event || window.event);
         return keyFunction(event);
         }
         
         //Disable right click script 
         var message="Sorry, right-click has been disabled"; 
         
         function clickIE() {if (document.all) {(message);return false;}} 
         function clickNS(e) {if 
         (document.layers||(document.getElementById&&!document.all)) { 
         if (e.which==2||e.which==3) {(message);return false;}}} 
         if (document.layers) 
         {document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} 
         else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} 
         document.oncontextmenu=new Function("return false")
         
         function keyFunction(event){
         //"F12" key
         if (event.keyCode == 123) {
         return false;
         }
         
         if (event.ctrlKey && event.shiftKey && event.keyCode == 73) {
         return false;
         }
         //"J" key
         if (event.ctrlKey && event.shiftKey && event.keyCode == 74) {
         return false;
         }
         //"S" key
         if (event.keyCode == 83) {
         return false;
         }
         //"U" key
         if (event.ctrlKey && event.keyCode == 85) {
         return false;
         }
         //F5
         if (event.keyCode == 116) {
         return false;
         }
         }
         
      </script>
   </head>
   <body >
      <iframe style="width:100%" height="473" src="https://africau.edu/images/default/sample.pdf#toolbar=0"></iframe>
      <div style="width:96%;height:473px;background-color:transparent;position:absolute;top:0px;max-width: 100%;">
   </body>
</html>

4

1 回答 1

0

右键单击默认行为是触发一个contextmenu事件,其默认行为是显示上下文菜单。

为了防止这种默认行为,请编写以下代码:

document.addEventListener('contextmenu', e => e.preventDefault());

请注意,它不会阻止人们访问开发人员工具,F12对此您无能为力。

于 2021-06-24T18:49:49.707 回答