浏览器判断控制台是否开启

根据 console.table 的执行时长

这种方案还是可以的,BOSS 用的这个。

Javascript 复制代码
function checkIsOpen() {
    const bengin = new Date().valueOf();
    console.table(new Array(100).fill(1).map(item => new Array(100).fill(1)))
    const end = new Date().valueOf();
    console.clear();
    return (end - bengin) > 5
}
console.log(checkIsOpen())

toString 检测 (已经没有用了)

这个方案,是基于console.log不会在控制台开启时执行的前提条件下才会生效,但是目前浏览器这个不行。

Javascript 复制代码
function checkIsOpen() {
    
}
checkIsOpen.toString = function() {
    this.isOpen = true;
}
console.log(checkIsOpen)

这个方案已经无了,但是可以了解一下console.log。 console.log() API ‌无论 DevTools 是否打开都会执行‌,但其行为和影响在不同状态下有显著差异。

性能与内存影响不同‌:

  • DevTools 关闭时 ‌:
    日志输出通常由浏览器轻量处理,‌不会导致内存泄漏‌,堆内存保持稳定。
  • DevTools 打开时 ‌:
    浏览器会‌保留被打印对象的引用 ‌(尤其是对象/数组),以便在控制台中展开查看,这可能导致‌内存无法被垃圾回收(GC) ‌,从而引发内存泄漏。nodejs 环境不会内存泄漏

监控debugger

Javascript 复制代码
function checkIsOpen() {
    const bengin = new Date().valueOf();
    debugger;
    const end = new Date().valueOf();
    console.clear();
    return (end - bengin) > 5
}
console.log(checkIsOpen())

就是利用断点。

DOM元素检测

就是挂一个隐藏的 html 标签放页面上监控这个 html 标签的offsetHeightoffsetWidth。 这个也无了。

相关推荐
SEO_juper1 分钟前
2026年用Python分析网站访问日志:看清Googlebot和AI爬虫怎么爬你的站(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
摸鱼仙人~2 分钟前
React 原理进阶:彻底理解 re-render、React.memo、useMemo 与 useCallback
前端·vue.js
IMPYLH6 分钟前
HTML 的 <small> 元素
前端·网络·html
IT_陈寒7 分钟前
Vue的响应式让我加班到凌晨,问题竟出在这个不起眼的地方
前端·人工智能·后端
AlienZHOU9 小时前
AI Coding 时代下,我的技术面试实践分享
前端·后端·面试
Captaincc12 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
计算机魔术师13 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端
kyriewen14 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
IT_陈寒14 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
前端snow15 小时前
ai agent --- 多agent框架之图编排引擎-langgraph
前端