0

如何使用 JavaScript 检测开发人员工具是否在 IE 10 上运行?

我试过:

if (console && console.log) {
   alert("Developer tools is running");
}
4

4 回答 4

1

在 IE 10 中,您可以调用

window.__IE_DEVTOOLBAR_CONSOLE_COMMAND_LINE

如果它是一个对象,则工具栏是打开的。(注意:如果您之前在同一个“窗口”中打开工具栏,它会保留)如果它是“未定义”,则工具栏将关闭。

于 2013-08-01T08:40:15.717 回答
0

在早期版本的 IE 和所有其他现代浏览器中,您无法判断开发人员工具或 Web Inspector 是否打开。我认为IE10也是如此。

您可以使用以下命令检查浏览器是否支持控制台日志记录:

if ('console' in window) {
    if ('log' in console) {
        console.log('This will work.');
    }
}

IE8 及以下版本可能不支持控制台日志记录,因此在您的代码中登录到控制台之前检查它们是否支持是明智的。

于 2013-08-01T08:16:50.390 回答
0

AFAIK 不太可能。if( console.log )会检查是否console.log()是一个可用的函数,所以它会返回 true。

http://jsfiddle.net/cXBL9/

但是当然,无论工具是否开放,这都与开发无关。

于 2013-08-01T08:18:40.063 回答
0

正如 Arbitter 和 Jazza 已经说过的,这实际上是不可能的。

也许对您没有用,但我能够与开发人员工具交互的唯一方法是使用 JavaScript 语句:

debugger;

如果使用开发人员工具进行调试,这将导致断点被命中。

参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FStatements%2Fdebugger

于 2013-08-01T08:26:52.923 回答