2013-11-01 3 views
1

Можно ли обнаружить, открыто ли окно инспектора браузера?Как определить, открыто ли окно инспектора браузера?

Мы попытались обнаружить его, сравнив window.outerHeight и window.innerHeight, но это не работает, когда окно инспектора не подключено к браузеру (плавающее).

window.outerHeight - window.innerHeight > 100 

Спасибо, Хачатур

+4

Почему вы заботитесь? – Quentin

+0

Можете ли вы не просто отсоединить инспектора от этого окна? – Dogoku

+3

Зачем вам нужно знать? Если разрешить консольную инструкцию в IE8, просто выполните 'window.console && console.log (« все равно »)' каждый раз – mplungjan

ответ

2

Я ищу более ясным способом, чтобы сделать это, но вот один Hacky способ я использую в настоящее время:

Обычно время, проведенное между двумя новыми Вызов 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 
    } 
    }); 
}); 
Смежные вопросы