如何检测 Chrome Inspect Element 是否正在运行?

发布于 2024-12-06 15:44:13 字数 130 浏览 1 评论 0原文

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

例如,如果用户在 Chrome 中单击“检查元素”,窗口会显示 Hello World 警报。

这可能吗?

Is there any way to detect whether the Chrome Inspect Element window is running?

For example if the user clicks "Inspect Element" in Chrome, the window shows a Hello World alert.

Is that possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

删除→记忆 2024-12-13 15:44:13

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

剩下的唯一解决方案是检查 window.outerHeightwindow.innerHeight 之间的差异正如@Gerben 所建议的。有一个基于此方法的库devtools-detect,它添加了devtoolschangewindow 对象。

或者,我们正在努力使用更强大的检测方法创建 Chrome 扩展程序,请参阅此 Google 网上论坛


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

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

UPDATE This no longer works. The property console.profiles has been removed in Chrome 29.

The only solution that's left is checking the difference between window.outerHeight and window.innerHeight as suggested by @Gerben. There is a library devtools-detect based on this method which adds devtoolschange to the window object.

Alternatively, there is an effort in progress to create a Chrome extension using a more robust detection method, see this Google Group.


Here's how they check if DevTools are open in the first challenge of Discover DevTools interactive course:

function () {
    console.profile(); 
    console.profileEnd(); 
    if(console.clear) { console.clear() };
    return console.profiles.length > 0;
}
勿忘初心 2024-12-13 15:44:13
window.onresize = function(){
 if((window.outerHeight-window.innerHeight)>100)
   alert('hello');
}

实际操作: http://jsbin.com/ediquk/

请注意,调整大小事件似乎被触发了两次,因此您应该检查您是否已经提醒使用。

window.onresize = function(){
 if((window.outerHeight-window.innerHeight)>100)
   alert('hello');
}

In action: http://jsbin.com/ediquk/

Note that it seems like the resize event gets fired twice, so you should check whether you alerted the use already.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文