Sup*_*ser 8 javascript browser jquery cross-browser
我正在尝试创建一个在打开或关闭任何浏览器控制台时运行的脚本.有没有办法检测所有浏览器(Firefox/IE/Chrome/Safari/Opera)中的浏览器控制台是否通过JavaScript,jQuery或任何其他客户端脚本打开?
devtools-detect应该做的工作。尝试简单的演示页面。
devtools-detect? 检测 DevTools 是否打开,以及它的方向。支持的浏览器:
- Chrome、Safari、Firefox 和 Opera 中的开发者工具
注意事项:
- 如果 DevTools 未停靠(单独的窗口),则不起作用,并且如果您切换任何类型的侧边栏,可能会显示误报。
如果您愿意接受用户的干扰,则可以使用debugger语句,因为该语句在所有主流浏览器中都可用。
旁注:如果您的应用程序用户对控制台的使用感兴趣,则他们可能熟悉开发工具,并且不会对它的出现感到惊讶。
简而言之,该语句充当断点,并且仅在打开浏览器的开发工具时才会影响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>
Run Code Online (Sandbox Code Playgroud)