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,点击这里移步查看

  • 支付宝二维码 支付宝
  • 微信二维码 微信

本文地址: /js-devtools-detect.html

版权声明: 本文为原创文章,版权归 逐梦个人博客 所有,欢迎分享本文,转载请保留出处!

相关文章