禁用F12浏览器开发者工具的几种方法

1,930 阅读1分钟

来源:url

当不想让自己的代码被调试时,需要禁用F12功能。
整理了以下几种方法:
经测验,第一种方法和第二种方法结合使用最优。

  1. 打开调试时跳转页面。

缺点:火狐及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>

暂未发现缺点。

  1. devtools-detect
    github.com/sindresorhu…
    缺点:原理为检验窗口大小是否正常。
    浏览器开启手机模式或者F12开启全屏模式均检测不到

  2. 最笨的办法

缺点:先打开F12后访问页面无法禁用。右击点检查无法禁用。

  1. 计算debugger的时间差

缺点:关闭debugger就无法检测了
在这里插入图片描述

综上所述,第一种第二种方法结合使用能有效禁用开发者工具。