是否可以检测浏览器的检查器窗口是否打开?
我们尝试通过比较 window.outerHeight 和 window.innerHeight 来检测它,但是当检查器窗口未附加到浏览器(浮动)时,这不起作用。
window.outerHeight - window.innerHeight > 100
谢谢, 哈恰图尔
是否可以检测浏览器的检查器窗口是否打开?
我们尝试通过比较 window.outerHeight 和 window.innerHeight 来检测它,但是当检查器窗口未附加到浏览器(浮动)时,这不起作用。
window.outerHeight - window.innerHeight > 100
谢谢, 哈恰图尔
我正在寻找一种更清晰的方法来做到这一点,但这是我目前正在使用的一种 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
}
});
});