javascript
已收录文章:35篇
-
搜索框连续输入时,较早发出的慢请求可能晚于新请求返回并覆盖结果。用 AbortController 取消上一轮 fetch,再用请求序号做最后一道验收,就能同时降低无效请求和旧数据回写风险。497 收藏
-
WebSocket 断线重连最容易踩中旧连接复活:旧 socket 的 close 回调晚到,可能覆盖新连接状态。本文从 readyState、连接代次、指数退避和手动关闭四个边界出发,给出可验证的浏览器实现。467 收藏
-
从触底加载重复请求的现场出发,拆开 rootMargin、哨兵节点和请求状态之间的关系,给出可验收的去重实现与异常处理边界。462 收藏
-
大文件上传到底该让浏览器把数据交给业务服务,还是直接送到对象存储?本文从流量路径、分片重试、权限边界和完成校验四个维度比较两种方案,并给出基于 Blob.slice、预签名 URL 与 uploadId 的可落地实现边界。448 收藏
-
页面偶发点击无响应,先别急着把锅甩给网络。本文用 PerformanceObserver 记录 50ms 以上长任务,结合 Chrome Performance 面板定位 JSON.parse 和同步渲染造成的主线程阻塞,再用分片处理和 requestIdleCallback 做可验证的修复。421 收藏
-
Node.js 26 已默认启用 Temporal API,但它仍处于 Current 阶段,预计 2026 年 10 月进入 LTS。本文用日期解析和时区转换场景说明 Date 与 Temporal 的迁移边界、兼容策略和上线前核对项。421 收藏
-
跨文档 View Transitions 不是给单页应用换皮:当前页和目标页要同源并同时用 @view-transition 选择加入,元素命名还要避免冲突。本文从多页站点导航现场出发,给出最小接入、滚动位置处理、浏览器降级和上线验收清单。412 收藏
-
表格列拖拽时出现指针跟不上、列宽抖动和松手后跳回,通常不是 Pointer Events 本身慢,而是每个 pointermove 都同步读写布局。本文用 120Hz 屏幕的可复现场景,比较直接写入与 requestAnimationFrame 合帧方案,并给出最终验收指标与边界。397 收藏
-
View Transition API 能让页面切换从硬切变成连续过渡,但快照时机、伪元素样式和不支持浏览器的降级处理,都会造成白闪、旧页面残留或动画不生效。本文从可复现的闪烁现场出发,逐项定位并给出可回退的实现方式。394 收藏
-
View Transition API 已经不只服务 SPA。本文用两个同源页面演示跨文档过渡,拆开 @view-transition、view-transition-name、pageswap/pagereveal 与不支持浏览器的降级边界。392 收藏
-
多个标签页同时刷新订单或缓存时,Web Locks API 可以把写入协调到一个持有者。文章用 navigator.locks.request() 说明 ifAvailable、AbortSignal 超时、query() 诊断和 steal 恢复的边界。386 收藏
-
页面关闭、跳转或切后台时,上报请求容易被浏览器中断。本文对比 navigator.sendBeacon 与 fetch keepalive 的适用边界,给出请求体、响应处理、幂等键和重复提交验收方法,帮助把离开页面前的轻量数据上报做得更可靠。379 收藏