1

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

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

window.outerHeight - window.innerHeight > 100

谢谢, 哈恰图尔

4

1 回答 1

3

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

通常,两次 new 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
    }
  });
});
于 2014-09-04T11:35:35.160 回答