为了账号安全,请及时绑定邮箱和手机立即绑定

了解Chrome控制台是否已打开

了解Chrome控制台是否已打开

慕少森 2019-07-25 16:05:19
了解Chrome控制台是否已打开我正在使用这个小脚本来查明Firebug是否已打开:if (window.console && window.console.firebug) {     //is open};它运作良好。现在我正在寻找一种方法来检测Google Chrome的内置Web开发者控制台是否已打开,但我找不到任何提示。这个:if (window.console && window.console.chrome) {     //is open};不起作用。编辑:因此,似乎无法检测Chrome控制台是否已打开。但有一个“ 黑客 ”有效,但有一些缺点:控制台未对接时将无法工作控制台在页面加载时打开时无效所以,我现在要选择Unsigned的答案,但如果有人提出了一个好主意,欢迎他仍然回答我改变所选答案!谢谢!
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超13个赞

function toString(2019)

感谢Overcl9ck对这个答案的评论。/./用空函数对象替换正则表达式仍然有效。

var devtools = function(){};devtools.toString = function() {
  this.opened = true;}console.log('%c', devtools);// devtools.opened will become true if/when the console is opened

regex toString(2017-2018)

由于原始提问者似乎不再存在,这仍然是可接受的答案,因此添加此解决方案以提高可见性。幸得安东宁·希尔德布兰德评论zswang s'的答案toString()除非控制台是打开的,否则此解决方案利用了未在已记录对象上调用的事实。

var devtools = /./;devtools.toString = function() {
  this.opened = true;}console.log('%c', devtools);// devtools.opened will become true if/when the console is opened

console.profiles(2013)

更新: console.profiles已从Chrome中删除。此解决方案不再有效。

感谢Paul Irish使用Profiler 从Discover DevTools指出这个解决方案:

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

window.innerHeight(2011)

这个其他选项可以在页面加载检测正在打开的停靠检查器,但是无法检测到未停靠的检查器,或者检查器是否已在页面加载时打开。误报也有一些可能性。

window.onresize = function(){
    if ((window.outerHeight - window.innerHeight) > 100)
        alert('Docked inspector was opened');}


查看完整回答
反对 回复 2019-07-25
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我创建了devtools-detect,可以检测DevTools何时打开:

console.log('is DevTools open?', window.devtools.open);

您还可以收听活动:

window.addEventListener('devtoolschange', function (e) {
    console.log('is DevTools open?', e.detail.open);});

当DevTools未对接时它不起作用。但是,适用于Chrome / Safari / Firefox DevTools和Firebug。


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 699 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号