Javascript 如何检测铬检测元件是否运行?

Javascript 如何检测铬检测元件是否运行?,javascript,google-chrome,console,Javascript,Google Chrome,Console,有没有办法检测Chrome Inspect Element窗口是否正在运行 例如,如果用户单击Chrome中的“Inspect Element”,窗口将显示一个Hello World警报 可能吗 window.onresize = function(){ if((window.outerHeight-window.innerHeight)>100) alert('hello'); } 在行动中: 请注意,似乎resize事件被触发了两次,因此您应该检查是否已经向用户发出了警报 更

有没有办法检测Chrome Inspect Element窗口是否正在运行

例如,如果用户单击Chrome中的“Inspect Element”,窗口将显示一个
Hello World
警报

可能吗

window.onresize = function(){
 if((window.outerHeight-window.innerHeight)>100)
   alert('hello');
}
在行动中:


请注意,似乎resize事件被触发了两次,因此您应该检查是否已经向用户发出了警报

更新这不再有效。Chrome 29中的属性
console.profiles
已被删除

剩下的唯一解决方案是检查@Gerben建议的
window.outerHeight
window.innerHeight
之间的差异。有一个基于此方法的库,它将
devtoolschange
添加到
窗口
对象中

或者,正在努力使用一种更健壮的检测方法创建一个Chrome扩展,请参见此


以下是他们在互动课程的第一个挑战中检查DevTools是否打开的方式:

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

嗯,你可以直接监控“右键点击”,尽管我怀疑你能看到他们选择了什么选项。所以你可以改变右键点击的行为,然后可能会显示你的框?是的,我知道我可以改变右键点击。但实际上我想监控inspect元素是否正在运行和执行任何操作。例如,运行javascript函数。请参阅,以获得有效的解决方案。在firefox中也适用,但您需要在超时时将警报放入其中,否则布局会冻结。看到了吗?这只在窗口停靠时有效吗?是的。只有在停靠时。我不知道如何检测未锁定的检查器。但只要调整窗口大小,它也会触发。。。这比打开inspector要频繁得多。我怀疑这也可能是由具有多个工具栏或其他修改浏览器UI的扩展的人触发的。例如,Chrome书签工具栏,就可以算作这个计算的一部分。哈哈!不客气在firefox上为firebug工作。这个家伙根据这里建议的解决方案创建了一个微测试框架和一个测试框架。另外,您也很棒,Paul:)您可以通过使用折叠的控制台组来隐藏运行探查器生成的消息,从而使此技术稍微不那么引人注目。请看,这将在Chrome中很快停止工作:(对不起,各位)