前端技术文章
-
Popover API 的 beforetoggle 会在浮层切换前触发。本文说明怎样只拦截开启状态,在条件不满足时调用 preventDefault,并把已经发生的状态同步交给 toggle,同时保留浏览器不支持时的降级路径。130 收藏 -
scroll-target-group 可以把自定义目录容器变成滚动标记组,再配合 :target-current 让当前章节对应的目录项自动高亮;本文给出最小 HTML/CSS 写法、结构边界和不支持浏览器的降级方案。128 收藏 -
Intl.DisplayNames 可以按 locale 和 type 把语言、地区、脚本代码转换成用户能读懂的名称。本文用最小示例说明构造器、supportedLocalesOf、of() 以及语言切换时的实例管理。124 收藏 -
围绕 cache key、install、activate 和回滚设计一套 Service Worker 缓存版本更新方案,说明怎样避免新旧缓存互相污染,以及 updateViaCache 和 clients.claim 应该怎样取舍。122 收藏 -
从计算边界、消息协议、结构化克隆、ArrayBuffer 转移和生命周期五个方面说明前端如何把合适的计算移到 Web Worker,并给出错误处理与场景判断。121 收藏 -
通过自定义属性、命名容器和 @container style() 让组件响应父级状态,并说明默认回退、继承、容器选择及普通属性查询的支持边界。120 收藏 -
闭合阴影根不必牺牲焦点委托。用声明式模板保留 delegatesFocus,区分宿主聚焦、Tab 顺序与外部观察,并避开布尔属性、重复建根和字符串注入的常见误区。120 收藏 -
CSS color-mix() 可以按比例混合两个或多个颜色,并指定 oklab、oklch、srgb 等颜色空间。本文从主题色派生出发,拆解百分比归一化、透明度边界、颜色空间选择和组件令牌组织方式。120 收藏 -
讲清 Vite manifest.json 如何把源码入口映射到哈希产物,并用 imports、css 关系组装 modulepreload 与样式标签。120 收藏 -
URLSearchParams.delete(name) 会删除指定键的全部参数值。本文从重复查询键出发,说明最小写法、URL 回写、delete(name, value) 的区别、浏览器兼容边界和可复用代码。118 收藏 -
围绕 Vue watchEffect 的异步副作用清理时机,说明 onCleanup 与 onWatcherCleanup 的注册位置、重跑前清理和旧请求写回边界,给出可取消请求的实用写法。116 收藏 -
本文用一个可伸缩组件场景说明 ResizeObserver 的 contentBoxSize、borderBoxSize 和 contentRect 如何选择,并给出数组形态、旧实现回退与组件销毁处理方式。114 收藏 -
Server Actions 的输入校验不能停留在浏览器表单约束。本文从 FormData 解析、字段白名单、服务端授权、预期错误、异常与幂等副作用五个边界说明如何设计可靠的输入处理。114 收藏 -
从几何边界、alpha/luminance 和交互区域三个角度,对比 SVG clipPath 与 mask 的透明度处理,给出可直接改写的最小示例。114 收藏 -
本文用搜索列表案例拆分 React 中必须立即响应的交互状态与可中断的后台渲染,说明 useTransition、isPending、受控输入、异步更新和 Suspense 的正确边界。112 收藏