检测 console/devtools 是否在所有浏览器中打开

新手上路,请多包涵

我正在尝试创建一个脚本,该脚本将在打开或关闭任何浏览器控制台时运行。有什么方法可以通过 JavaScript、jQuery 或任何其他客户端脚本检测所有浏览器(Firefox/IE/Chrome/Safari/Opera)中的浏览器控制台是否打开?

原文由 Super User 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 358
1 个回答

如果 您愿意接受对用户的干扰,您可以使用 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>

原文由 guysigner 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题