-
React 定时器越跑越快,通常是 useEffect 重复创建 setInterval 却没有对称清理。本文用生命周期、依赖数组和 Strict Mode 说明 clearInterval 的正确写法。
-
CSS Anchor Positioning 可以让悬浮提示跟随锚点定位,并在空间不足时尝试备用位置。本文用一个按钮与提示框的静态关系,拆清 anchor-name、position-anchor、position-try 的职责和兼容回退。
-
Vue watch 触发搜索请求时,旧请求可能晚于新请求返回。本文用 onCleanup 或 onWatcherCleanup 取消过期请求,再用请求序号保护状态写回,解决快速输入造成的结果错乱。
-
用 container-type 建立容器查询上下文,再通过 @container 按卡片自身宽度切换单列与两列布局,并说明命名容器、inline-size 与回退方案的边界。
-
TransformStream 的背压不是只调一个 highWaterMark:输入侧看 writableStrategy,输出侧看 readableStrategy,并让 size(chunk) 与数据单位一致。本文用 pipeThrough、writer.ready 和 desiredSize 整理配置与排查方法。
-
TypeScript 7 的原生编译器会并行执行解析、类型检查和输出,但提高 checkers、builders 也会增加 CPU 与内存压力。本文说明三个并行开关的关系,并给出适合本地开发和 CI 的渐进测量方法。
-
多个标签页同时刷新订单或缓存时,Web Locks API 可以把写入协调到一个持有者。文章用 navigator.locks.request() 说明 ifAvailable、AbortSignal 超时、query() 诊断和 steal 恢复的边界。
-
Interop 2026 将媒体伪类列为重点互操作方向。本文用一个音频卡片示例说明 :playing、:paused、:buffering、:stalled 与 :muted 的边界,并给出特性查询降级和可访问性检查方法。
-
从 Node.js ESM 的 import.meta.dirname、import.meta.filename 与 import.meta.url 出发,说明本地文件定位、旧版本兼容、URL 路径和构建发布中的稳妥写法。
-
ResizeObserver 报告 ResizeObserver loop completed with undelivered notifications 时,先区分布局读取与写入,再用 requestAnimationFrame 合并写入,最后用阈值和断点确认循环已经收敛。
-
IndexedDB 升级被旧页面阻塞时,旧连接要处理 versionchange 并关闭,新页面用 onblocked 延迟显示提示,再在升级完成时撤销提示。本文给出跨标签页可执行的处理结构和边界清单。
-
原生 Drag and Drop API 只解决了鼠标拖动,键盘用户仍需要一条明确的选择、移动、确认路径。用按钮化抓手、aria-live 状态和统一提交函数,可以让拖拽排序、方向键移动、焦点恢复与服务端校验共用一套状态模型。
-
Web Components 的 adoptedCallback 只在自定义元素进入新的 Document 时触发。本文区分同文档换位、跨文档移动和 importNode 复制,并说明如何用 oldDocument、newDocument 与 ownerDocument 重绑文档相关资源。
-
前端 WebSocket 需要把异常重连和页面离开分成两条路径:异常关闭采用带抖动的指数退避,pagehide 负责主动收尾,pageshow 再按 bfcache 状态恢复,避免定时器泄漏、重复连接和无休止重连。
-
React Strict Mode 在开发环境会额外执行一次 useEffect 的 setup 和 cleanup,用来检查副作用是否可重复同步。本文区分开发与生产边界,并给出订阅、定时器和请求的清理写法。