【问题标题】:How to check if Chrome Dev Tools are opened? [duplicate]如何检查 Chrome 开发工具是否已打开? [复制]
【发布时间】:2013-05-27 01:28:53
【问题描述】:

我在 codeschool.com (discover-devtools: http://discover-devtools.codeschool.com/chapters/1/challenges/3) 上的教程中发现有可能检查 Chrome 开发者工具是否打开?如何检查 (cmd+alt+i) 按下的状态/获取事件?

【问题讨论】:

标签: javascript google-chrome google-chrome-devtools dom-events


【解决方案1】:

google 是你的朋友

function isInspectOpen()
{
    console.profile(); 
    console.profileEnd(); 
    if (console.clear) console.clear();
    return console.profiles.length > 0;
}

来自This Question

如果用户打开了开发者工具,此函数将返回 true

编辑

回应您的评论

$('#header').click(alert(isInspectOpen()))

jQUery 格式不正确,试试:

$('#header').click(function(){
   alert(isInspectOpen());
});

【讨论】:

  • hm,调用isInspectOpen() 可以正常工作:)(即它重新调用true)。但是,如果我设置 setTimeout('alert(isInspectOpen())', 10000) 并在 10 秒后关闭 DevTools,它会提醒 true。知道为什么吗?我该如何以另一种方式测试该功能?
  • 不要使用超时来测试这个,尝试在打开工具的情况下进行测试,然后关闭它
  • 任何想法,如何使用关闭的 DevTools 调用 alert(isInspectOpen())(或其他通知方式,例如更改某些 div 的文本)? $('#header').click(alert(isInspectOpen())) 对我也不起作用
  • @static - 更新答案
  • 请注意,我们从 Blink:src.chromium.org/viewvc/blink?revision=151136&view=revision 中删除了危险的 console.profiles,因此该技巧不再适用于 Chromium。
【解决方案2】:

您可以尝试使用 log4js 或类似的日志框架。 http://log4js.berlios.de/links.html#other

您的代码将减少对特定浏览器的依赖。

【讨论】:

  • 记录smth。我需要弄清楚这是怎么回事。工作(显示它在浏览器中的工作,例如它触发了哪个事件/它改变了哪个状态),以及如何做到这一点是一个问题;)当然 log4js 是显示事件发生的好东西
猜你喜欢
  • 2014-02-20
  • 2017-08-22
  • 2012-07-27
  • 2011-05-22
  • 2015-08-26
  • 1970-01-01
  • 2018-02-19
  • 2012-08-30
  • 2011-12-31
相关资源
最近更新 更多