来源:url
当不想让自己的代码被调试时,需要禁用F12功能。
整理了以下几种方法:
经测验,第一种方法和第二种方法结合使用最优。
-
打开调试时跳转页面。
缺点:火狐及QQ浏览器不生效。
2.无限debugger
<script>
setInterval(function() {
check();
}, 2000);
var check = function() {
function doCheck(a) {
if (('' + a / a)['length'] !== 1 || a % 20 === 0) {
(function() {}['constructor']('debugger')());
} else {
(function() {}['constructor']('debugger')());
}
doCheck(++a);
}
try {
doCheck(0);
} catch (err) {}
};
check();
</script>
暂未发现缺点。
-
devtools-detect
github.com/sindresorhu…
缺点:原理为检验窗口大小是否正常。
浏览器开启手机模式或者F12开启全屏模式均检测不到 -
最笨的办法
缺点:先打开F12后访问页面无法禁用。右击点检查无法禁用。
-
计算debugger的时间差
缺点:关闭debugger就无法检测了
综上所述,第一种第二种方法结合使用能有效禁用开发者工具。