js代码屏蔽开发者工具
防止使用开发者工具对代码进行调试
js可以加入如下代码:
1 <script type="text/javascript"> 2 3 //禁止鼠标右击 4 document.oncontextmenu = function() { 5 event.returnValue = false; 6 }; 7 //禁用开发者工具F12 8 document.onkeydown = document.onkeyup = document.onkeypress = function(event) { 9 let e = event || window.event || arguments.callee.caller.arguments[0]; 10 if (e && e.keyCode == 123) { 11 e.returnValue = false; 12 return false; 13 } 14 }; 15 let userAgent = navigator.userAgent; 16 if (userAgent.indexOf("Firefox") > -1) { 17 let checkStatus; 18 let devtools = /./; 19 devtools.toString = function() { 20 checkStatus = "on"; 21 }; 22 setInterval(function() { 23 checkStatus = "off"; 24 console.log(devtools); 25 console.log(checkStatus); 26 console.clear(); 27 if (checkStatus === "on") { 28 let target = ""; 29 try { 30 window.open("about:blank", (target = "_self")); 31 } catch (err) { 32 let a = document.createElement("button"); 33 a.onclick = function() { 34 window.open("about:blank", (target = "_self")); 35 }; 36 a.click(); 37 } 38 } 39 }, 200); 40 } else { 41 //禁用控制台 42 let ConsoleManager = { 43 onOpen: function() { 44 alert("Console is opened"); 45 }, 46 onClose: function() { 47 alert("Console is closed"); 48 }, 49 init: function() { 50 let self = this; 51 let x = document.createElement("div"); 52 let isOpening = false, 53 isOpened = false; 54 Object.defineProperty(x, "id", { 55 get: function() { 56 if (!isOpening) { 57 self.onOpen(); 58 isOpening = true; 59 } 60 isOpened = true; 61 return true; 62 } 63 }); 64 setInterval(function() { 65 isOpened = false; 66 console.info(x); 67 console.clear(); 68 if (!isOpened && isOpening) { 69 self.onClose(); 70 isOpening = false; 71 } 72 }, 200); 73 } 74 }; 75 ConsoleManager.onOpen = function() { 76 //打开控制台,跳转 77 let target = ""; 78 try { 79 window.open("about:blank", (target = "_self")); 80 } catch (err) { 81 let a = document.createElement("button"); 82 a.onclick = function() { 83 window.open("about:blank", (target = "_self")); 84 }; 85 a.click(); 86 } 87 }; 88 ConsoleManager.onClose = function() { 89 alert("Console is closed!!!!!"); 90 }; 91 ConsoleManager.init(); 92 } 93 94 setInterval(function () { 95 check() 96 }, 1000); 97 var check = function () { 98 function doCheck(a) { 99 if (("" + a / a)["length"] !== 1 || a % 20 === 0) { 100 (function () { } 101 ["constructor"]("debugger")()) 102 } else { 103 (function () { } 104 ["constructor"]("debugger")()) 105 } 106 doCheck(++a) 107 } 108 try { 109 doCheck(0) 110 } catch (err) { } 111 }; 112 check(); 113 window.οncοntextmenu = function () { return false; }; 114 window.onkeydown = window.onkeyup = window.onkeypress = function () { 115 window.event.returnValue = false; 116 return false; 117 }; 118 var h = window.innerHeight, 119 w = window.innerWidth; 120 window.onresize = function () { 121 if (h != window.innerHeight || w != window.innerWidth) { 122 window.location = ""; 123 } 124 }; 125 </script>