[英]How to detect if browser console / inspector is *open*?
什么是確定用戶是否有瀏覽器控制台(即螢火蟲,WebKit的檢查,Opera蜻蜓) 開放的最佳方式?
(即我對僅僅在腳本中檢測console
對象的存在感興趣。我想知道用戶何時實際打開了調試器面板。理想情況下,跨主流瀏覽器(IE / Safari / Chrome / Firefox ......)甚至可移動瀏覽器
如果您願意接受對用戶的干擾,您可以使用調試器語句 ,因為它在所有主流瀏覽器中都可用。
旁注:如果您的應用程序的用戶對控制台的使用感興趣,他們可能熟悉開發工具,並且不會因為它出現而感到驚訝。
簡而言之,該語句充當斷點, 只有在瀏覽器的開發工具打開時才會影響UI。
這是一個示例測試:
<body>
<p>Devtools is <span id='test'>off</span></p>
<script>
var minimalUserResponseInMiliseconds = 100;
var before = new Date().getTime();
debugger;
var after = new Date().getTime();
if (after - before > minimalUserResponseInMiliseconds) { // user had to resume the script manually via opened dev tools
document.getElementById('test').innerHTML = 'on';
}
</script>
</body>
免責聲明:我最初發布這個可能重復的問題的確切答案
出於安全原因,它不能直接在Javascript中使用。 您需要創建一個瀏覽器插件,如果您需要跨瀏覽器支持,這顯然不是一個可行的解決方案。
然而,有這個棘手的解決方案,這家伙想出了Chrome,雖然我可以想象這是一個長期的解決方案,因為它依賴於控制台啟動時代碼運行較慢的事實: http:// blog。 guya.net/2014/06/20/how-to-know-when-chrome-console-is-open/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.