前端技术文章
-
中文摘要不能只按字符串下标截断,否则容易把词和表情拆开。本文用 Intl.Segmenter 的 word 粒度处理中文边界,再用 isWordLike 和 supportedLocalesOf 设计多语言回退。290 收藏 -
文章 · 前端 | 1星期前 | 前端 · 性能 · javascript · 浏览器API · ArrayBuffer postMessage Web Worker structured clone transfer list
Web Worker 的 postMessage 默认使用 structured clone,接收端拿到的是独立副本。本文解释对象复制、ArrayBuffer 转移、transfer list 和生命周期边界,帮助前端开发者判断什么时候复制、什么时候交接所有权。290 收藏 -
WebSocket close 事件出现 1006 时,浏览器并不是收到了服务端发送的 1006。本文用 CloseEvent 字段、readyState、Network 记录和服务端日志对照,建立一套可执行的异常断链排查方法。286 收藏 -
文章 · 前端 | 3星期前 | 前端 · javascript · 性能排查 · 浏览器API · requestAnimationFrame ResizeObserver ResizeObserver loop completed with undelivered notifications 前端尺寸监听
ResizeObserver 回调里再次改动被观察元素尺寸,可能触发循环通知。本文用最小示例还原报错,拆开 contentRect、requestAnimationFrame 和 lastWidth 的关系,给出可验证的修复边界。285 收藏 -
图片加载完成前先用 aspect-ratio 建立稳定占位,再配合 width、height、object-fit 和兼容降级,减少卡片内容被推移造成的布局跳动。282 收藏 -
动态 import 失败时,用统一的 catch 和 finally 切换到可重试的降级界面,并区分网络、路径和模块执行问题。282 收藏 -
图片懒加载并不等于把 src 延后设置。若没有提前占住尺寸,图片加载完成时会推动正文,造成首屏抖动。本文用 IntersectionObserver、aspect-ratio 和 loading 状态组合出一套可复查的懒加载写法,并说明可见性回收与取消观察的边界。281 收藏 -
用 AbortSignal.any 合并用户取消和超时信号,让 fetch 请求只监听一个入口,并按 AbortError、TimeoutError 区分结束原因,补上兼容与竞态边界。276 收藏 -
大量元素使用 IntersectionObserver 时,应按 root、threshold 和业务动作建立少量观察组,再用 entries、dataset、unobserve 与 disconnect 验证拆分是否正确。276 收藏 -
Web Worker 处理大数组或文件切片时,结构化克隆会复制数据,Transferable 则转移底层内存。本文用 ArrayBuffer 实验说明两者的边界、发送后原对象为何被清空,以及如何用生命周期和回收检查避免主线程内存持续上涨。273 收藏 -
用同一个可运行的卡片示例演示 CSS container-type 与 @container,解决组件嵌入不同父容器后布局失控的问题。266 收藏 -
React 列表用数组索引作 key 时,插入、删除和排序会让组件状态与数据错配。本文用可编辑列表说明错位原因、稳定 ID 修复方式与边界判断。264 收藏 -
CSS zoom 会参与布局计算,适合让局部内容按比例放大或缩小;transform: scale() 只改变绘制结果。本文用卡片面板说明两者差异、响应式边界与降级验收。263 收藏 -
JavaScript 请求超时和主动取消不是同一件事:本文对比 AbortSignal.timeout、AbortController 与 AbortSignal.any,给出错误区分、signal 一次性使用和旧浏览器定时器清理的实战写法。263 收藏 -
用 IntersectionObserver 的正向 rootMargin 扩大交叉计算区域,让图片在进入视口前开始加载;文章同时说明四值写法、嵌套滚动容器和重复回调的处理方式。263 收藏