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

时间:2013-11-01 08:55:35

标签: javascript internet-explorer google-chrome firefox

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

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

window.outerHeight - window.innerHeight > 100

谢谢, Khachatur

1 个答案:

答案 0 :(得分:2)

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

通常,两次新的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
    }
  });
});