-
原生 Drag and Drop API 只解决了鼠标拖动,键盘用户仍需要一条明确的选择、移动、确认路径。用按钮化抓手、aria-live 状态和统一提交函数,可以让拖拽排序、方向键移动、焦点恢复与服务端校验共用一套状态模型。
-
IndexedDB 升级被旧页面阻塞时,旧连接要处理 versionchange 并关闭,新页面用 onblocked 延迟显示提示,再在升级完成时撤销提示。本文给出跨标签页可执行的处理结构和边界清单。
-
Web Components 的 adoptedCallback 只在自定义元素进入新的 Document 时触发。本文区分同文档换位、跨文档移动和 importNode 复制,并说明如何用 oldDocument、newDocument 与 ownerDocument 重绑文档相关资源。
-
WebGPU 的计算结果不会自动出现在 JavaScript 里:本文用 output 与 stagingBuffer 两个 GPUBuffer,串起 copyBufferToBuffer、mapAsync、getMappedRange、unmap,并补上 GPUDevice.lost 的恢复边界。
-
React Strict Mode 在开发环境会额外执行一次 useEffect 的 setup 和 cleanup,用来检查副作用是否可重复同步。本文区分开发与生产边界,并给出订阅、定时器和请求的清理写法。
-
前端 WebSocket 需要把异常重连和页面离开分成两条路径:异常关闭采用带抖动的指数退避,pagehide 负责主动收尾,pageshow 再按 bfcache 状态恢复,避免定时器泄漏、重复连接和无休止重连。
-
IntersectionObserver 的 scrollMargin 会扩展 root 内嵌套滚动容器的裁剪边界,适合处理轮播、虚拟列表和懒加载的提前观察。本文说明它与 rootMargin、threshold 的分工,以及重建观察器和兼容性回退方法。
-
讲清前端用 ReadableStream 分块读取 Fetch 响应时的 reader、TextDecoder、done、异常、取消与锁定边界,给出可直接改造的 JavaScript 示例。
-
页面关闭、跳转或切后台时,上报请求容易被浏览器中断。本文对比 navigator.sendBeacon 与 fetch keepalive 的适用边界,给出请求体、响应处理、幂等键和重复提交验收方法,帮助把离开页面前的轻量数据上报做得更可靠。
-
React Suspense 的 fallback 只负责等待态,数据 Promise reject 后要由 Error Boundary 展示失败态。本文用一个可重试的 Promise 状态说明如何接入 Try again、resetKeys 和缓存边界。
-
用 CSS light-dark() 配合 color-scheme 为页面建立浅色和深色主题,包含变量写法、兼容降级、手动切换和表单控件边界。
-
structuredClone 并不是任何对象都能复制。本文用最小示例说明函数、DOM 节点、Symbol、WeakMap 等失败边界,并解释 ArrayBuffer 的 transfer 转移、原型链和属性描述符变化。
-
前端组件同时监听 window、document 和局部 DOM 节点时,手动保存回调并逐个 removeEventListener 容易漏清理。本文用 addEventListener 的 signal 选项把多个监听器绑定到同一个 AbortController,在组件销毁时调用一次 abort() 统一回收,并说明 capture、once、passive 和已终止 signal 的边界。
-
CSS anchor positioning 可以把提示浮层和目标元素建立布局关系,再用 position-try-fallbacks 处理靠近视口边缘时的换位。本文从一个可运行的提示菜单例子出发,说明锚点声明、浮层定位、溢出回退和兼容降级的验证方法。
-
长列表不要让 ResizeObserver 覆盖所有组件。本文用 IntersectionObserver 控制可见范围,再用 requestAnimationFrame 和尺寸缓存合并通知,最后补上离开视口与组件卸载时的清理方式。