如何检测浏览器检查器窗口是否已打开

How to detect if browser inspector window is open?

本文关键字:窗口 是否 检查 浏览器 何检测 检测      更新时间:2023-09-26

是否可以检测浏览器的检查器窗口是否打开?

我们试图通过比较 window.outerHeight 和 window.innerHeight 来检测它,但是当检查器窗口未连接到浏览器(浮动)时,这不起作用。

window.outerHeight - window.innerHeight > 100

谢谢哈恰图尔

我正在寻找一种更清晰的方法来做到这一点,但这是我目前使用的一种黑客方法:

通常,两次新的 Date() 调用之间的时间少于 100 毫秒。因此,如果您在它们之间放置调试器,用户至少会在那里花费 100 多毫秒,我们将知道他们打开了控制台。

下面是一个简单的实现:

function isConsoleOpen() {
  var startTime = new Date();
  debugger;
  var endTime = new Date();
  return endTime - startTime > 100;
}
$(function() {
  $(window).resize(function() {
    if(isConsoleOpen()) {
        // do something
    }
  });
});