Javascript检测开发者工具Devtools是否打开

最近看到蛮多站都加上了反调试,之前也有了解过这方面的东西,但那些反调试代码基本上准确率都不高而且兼容性不太好,现整理出了到目前为止准确率能达到100%,chrome、firefox、ie全兼容的一段代码:

function checkDevTools(options) {
   const isFF = ~navigator.userAgent.indexOf("Firefox");
   let toTest = '';
   if (isFF) {
      toTest = /./;
      toTest.toString = function() {
        options.opened();
      }
   } else {
    toTest = new Image();
    toTest.__defineGetter__('id', function() {
        options.opened();
    });
   }
   setInterval(function() {
      options.offed();
      console.log(toTest);
      console.clear && console.clear();
   }, 1000);
}

[注:firefox需要切换到控制台这个tab才能检测到]

在线demo,请猛戳这里

此篇文章已更新,防调试升级版,通杀chrome,ie,firefox,点击这里移步查看

  • 支付宝二维码 支付宝
  • 微信二维码 微信
相关文章