前端技术文章
-
前端状态更新频繁时,批处理负责合并同一调度窗口的重复提交,去抖负责等待连续输入停止后再执行副作用。本文用原生 JavaScript 拆开两者的触发边界,并给出输入、请求、状态和绘制的组合方案。227 收藏 -
可访问模态弹窗不只是加 aria-modal。本文优先用原生 dialog 与 showModal 完成焦点限制和同文档背景 inert,再补齐初始焦点、Escape/按钮关闭、触发器恢复、动态触发器兜底,并说明何时才需要手写 Tab 焦点陷阱。309 收藏 -
文章 · 前端 | 17小时前 | 前端 · 性能优化 · javascript · ArrayBuffer postMessage 前端性能 Web Worker Transferable structured clone
解释 Web Worker 传大数据卡顿的 structured clone 成本,对比普通复制与 Transferable,并用 ArrayBuffer 示例说明 transfer list、detach 和发送端所有权边界。220 收藏 -
Fetch 被取消后,不要只看统一的失败结果。AbortSignal.timeout 会给出 TimeoutError,AbortController 默认产生 AbortError,AbortSignal.any 会保留最先触发的 reason。本文给出可复用封装,并说明网络错误、兼容性、竞态和清理边界。466 收藏 -
本文用 uploadId、固定分片索引和服务端状态对账实现前端大文件上传,讲清有限并发、XHR 暂停、失败重试、恢复补传及页面刷新后的续传协作方式。371 收藏 -
用 View Transition API 为列表到详情的跳转增加共享元素动画,同时保留不支持浏览器的原生导航回退。385 收藏 -
本文用一张可复用内容卡片讲清 CSS Container Query:声明具名容器、按容器宽度切换布局,并处理容器单位、可访问性与降级边界。289 收藏 -
解释 Vite 配置求值早于 .env 文件加载的原因,并用 loadEnv 正确读取模式变量、配置端口和控制客户端暴露边界。133 收藏 -
React useOptimistic 的列表回滚关键是保留真实数据作为基线,用 reducer 标记待处理项,请求失败时让乐观状态自然恢复,请求成功后再同步服务端列表。153 收藏 -
URLPattern 可以在同一个对象模式中分别声明 hostname 与 pathname,并从 exec 返回值的对应组件读取命名分组。本文用多租户项目地址演示域名参数、路径参数、相对 URL、未匹配处理和旧环境回退。108 收藏 -
介绍 Intl.DurationFormat 如何接收结构化持续时间对象,按 locale 与 long、short、narrow 风格生成本地化文本,并用 formatToParts 和能力检测处理真实前端场景。141 收藏 -
MessagePort 放入 postMessage 的 transfer 列表后,发送侧原对象已失去端口所有权,不能再当作有效通信端点。正确做法是主线程保留 port1、只把 port2 交给 Worker,并用 start、ACK、messageerror 与 close 管理通道生命周期。477 收藏 -
fetchpriority 是浏览器的图片获取优先级提示。本文说明如何识别首屏关键图片,只给 LCP 候选设置 high,并处理 lazy、CSS 背景、preload、srcset 与验证边界。343 收藏 -
用 AbortSignal.any 把用户取消和超时合并为一个 fetch 信号,并根据 reason 区分取消来源,补充监听器清理与兼容性边界。106 收藏 -
文章 · 前端 | 1天前 | 前端 · 性能优化 · javascript · scheduler.postTask TaskController Prioritized Task Scheduling API TaskSignal JavaScript任务优先级
Scheduler.postTask 用 options.priority 设置固定优先级,用 TaskController 的 TaskSignal 管理动态优先级。本文说明三档优先级、Promise 错误处理、取消、delay 和浏览器能力检测。148 收藏