前端技术文章
-
用 HTML Popover API 设计嵌套菜单和多层浮层,区分 auto、manual、dialog 的适用边界,并通过 popovertarget、autofocus、source 与 toggle 让键盘焦点路径更可预测。356 收藏 -
使用 View Transition API 为列表排序、筛选和拖动重排添加平滑位移动画,关键是让每个列表项保持稳定 DOM 身份,并把一次同步 DOM 更新交给 document.startViewTransition。本文给出完整示例、兼容回退、减弱动画设置与排错清单。158 收藏 -
CSS Anchor Positioning 用 position-try 配置浮层回退位置,本文从最小写法、自定义 @position-try、优先级和兼容性边界说明如何避免 tooltip 溢出视口。234 收藏 -
把前端性能预算拆成图片、脚本和交互三类,给出可落地的体积、长任务、LCP、INP、CLS 阈值,以及如何用实验室测试和真实用户数据持续追踪。446 收藏 -
从 label、原生约束和 aria-describedby 入手,把表单错误总览、字段状态与键盘焦点连起来,并说明客户端校验与服务端校验的边界。225 收藏 -
用 CSS @layer 固定组件库、基础样式和业务覆盖的优先级,说明 vendor 与 overrides 的组织方式,以及未分层规则、!important 和内联样式的迁移边界。464 收藏 -
浏览器缓存命中却仍请求服务器,往往是资源过期后发生了协商缓存。本文从 304、Cache-Control、ETag、刷新方式和 Fetch cache mode 入手,给出 HTML、静态资源与个性化响应的排查和配置清单。477 收藏 -
用 IntersectionObserver 发现即将进入视口的资源,通过去重队列、unobserve 和 AbortController 实现可停止、可重试的懒加载。401 收藏 -
前端状态更新频繁时,批处理负责合并同一调度窗口的重复提交,去抖负责等待连续输入停止后再执行副作用。本文用原生 JavaScript 拆开两者的触发边界,并给出输入、请求、状态和绘制的组合方案。227 收藏 -
可访问模态弹窗不只是加 aria-modal。本文优先用原生 dialog 与 showModal 完成焦点限制和同文档背景 inert,再补齐初始焦点、Escape/按钮关闭、触发器恢复、动态触发器兜底,并说明何时才需要手写 Tab 焦点陷阱。309 收藏 -
文章 · 前端 | 1星期前 | 前端 · 性能优化 · 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 收藏