前端技术文章
-
用 Fetch Response.body 和 ReadableStream 将搜索结果按块解析并增量渲染,说明 reader.read、TextDecoderStream、controller.desiredSize 与背压边界。460 收藏 -
ResizeObserver 回调里直接改尺寸,可能让布局反馈进入下一帧并反复触发 loop completed with undelivered notifications。本文用真实的 ResizeObserver、requestAnimationFrame 和 entry.target.style.width 示例拆解原因,并给出可验收的收敛写法。456 收藏 -
文章 · 前端 | 3星期前 | css · 前端开发 · anchor-name position-try-fallbacks CSS anchor positioning position-anchor 前端浮层
用一个可移动的菜单按钮和提示浮层,验证 CSS anchor positioning 如何通过 anchor-name 建立锚点、position-anchor 连接目标,并用 position-try-fallbacks 在空间不足时切换位置。454 收藏 -
文章 · 前端 | 3星期前 | javascript · 前端开发 · ArrayBuffer postMessage Transferable Web Workers structured clone
用一个可复现的 Web Worker 场景解释 ArrayBuffer 的 Transferable 传递:怎样避免大块数据复制,为什么发送后原引用会失效,以及如何用 byteLength 和 messageerror 定位问题。453 收藏 -
CSS color-mix 的默认混合空间会影响主题色的亮度、饱和度和色相。本文用原创示例说明如何选择 oklab、oklch 或 srgb,并处理比例、透明度与组件状态。451 收藏 -
用 structuredClone 复制前端表单草稿时,先分清深拷贝、不可克隆值和 transfer 转移语义,避免原缓冲区被置空或提交时丢失字段。449 收藏 -
围绕 fetch 事件实现缓存优先、网络回退和离线兜底,限定同源 GET 请求,只缓存成功响应,并解释 HTTP 错误、网络异常与 Response clone 的边界。448 收藏 -
嵌套面板里定位表单错误、消息或搜索结果时,默认 scrollIntoView 可能把整页一起滚走。本文拆解 container: nearest 的作用范围、兼容回退和验收写法,帮助前端保留用户当前的页面上下文。447 收藏 -
TypeScript 条件类型左侧使用裸类型参数时,会对联合类型逐成员计算。本文用 ToArray 示例解释分发原因,并说明如何用方括号关闭分发。447 收藏 -
文章 · 前端 | 3星期前 | 前端 · 路由 · javascript · 兼容性 · 嵌套路由 JavaScript URLPattern URLPattern groups URLPattern test 浏览器 API
用 JavaScript URLPattern 匹配 /:space/:project/:page 这样的嵌套路由,先用 test 判断是否命中,再从 pathname.groups 取参数,并通过特性检测为旧浏览器保留回退路径。445 收藏 -
Web Worker 不能直接操作页面 DOM,正确做法是让 Worker 计算数据,再用 postMessage 回传,由主线程统一更新页面。443 收藏 -
Service Worker 更新后仍返回旧页面,通常与旧 worker、旧 Cache API 条目和页面 controller 未切换有关。本文用版本化缓存名、activate 清理、skipWaiting 与 clients.claim 拆解排查和修复策略。442 收藏 -
用 View Transitions API 给列表新增、删除和筛选加上稳定的视图过渡,同时保留不支持浏览器和减少动态效果用户的可用回退。441 收藏 -
ResizeObserver 回调里直接改尺寸,容易触发布局反馈和连续通知。本文用 pending 标记、requestAnimationFrame 与 applyLayout 拆开读写阶段,说明如何定位循环回调并保留可验收的布局更新链路。439 收藏 -
讲清 ReadableStream 如何用 reader 逐块读取响应、用 TextDecoder 保持字符完整,并在消费变慢、提前结束和异常时正确处理背压与 cancel。436 收藏