前端技术文章
-
用 Temporal.PlainDate 处理生日、账期和只关心日历日期的业务值,避开 Date 的时区偏移,覆盖 from、compare、until、toString 与旧浏览器降级边界。198 收藏 -
文章 · 前端 | 1星期前 | 前端 · javascript · 安全开发 · Web Crypto · 浏览器 API · ArrayBuffer 前端加密 AES-GCM Web Crypto API crypto.subtle
用浏览器原生 Web Crypto API 完成 AES-GCM 密钥的导入、导出、加密和解密,重点核对 Base64 编码、CryptoKey 可提取性、每次加密唯一 IV 以及 ArrayBuffer 类型边界。129 收藏 -
移动端长列表使用虚拟滚动后,scrollIntoView 可能滚不到顶部。本文从用户症状、滚动时间线和可复现实验入手,解释布局测量与渲染窗口冲突的根因,并给出可验证的修复与回归检查。221 收藏 -
CSS 容器查询从尺寸条件扩展到 style() 条件后,迁移重点不只是替换语法,还要检查容器类型、继承来源、浏览器支持和响应式回归。251 收藏 -
用原生 Popover API 做一个可访问的无 JavaScript 弹出层,覆盖 popover、popovertarget、light dismiss、焦点行为与不支持浏览器的降级方案。235 收藏 -
用一个带校验状态、禁用状态和兄弟提示的表单例子,拆清 CSS :has() 的相对选择器边界、特异性影响与可维护写法。485 收藏 -
文章 · 前端 | 1星期前 | 前端 · javascript · 登录态 · 浏览器API · Cookie Store API cookieStore 登录态变化 CookieChangeEvent 前端降级
页面登录态变化后,多个组件经常要各自轮询 Cookie 或等待下一次刷新。Cookie Store API 提供异步读取和 change 事件,可以把登录失效、退出登录与界面刷新串成一条可复查的链路;本文同时说明 HTTPS、替换同名 Cookie 和旧浏览器降级边界。346 收藏 -
用一个可复用的卡片组件说明 CSS container query 与 ResizeObserver 的分工:样式交给 CSS,数据计算交给观察器,并通过 requestAnimationFrame 合并重复通知。488 收藏 -
图片懒加载并不等于把 src 延后设置。若没有提前占住尺寸,图片加载完成时会推动正文,造成首屏抖动。本文用 IntersectionObserver、aspect-ratio 和 loading 状态组合出一套可复查的懒加载写法,并说明可见性回收与取消观察的边界。281 收藏 -
URLPattern 适合把前端路由匹配从手写字符串切分收敛到可校验规则,但命名参数、相对 URL 和浏览器缺失都要单独处理。本文用一个商品详情路由拆解匹配判断、参数读取、baseURL 与降级边界。102 收藏 -
浏览器回退后表单内容仍然保留,通常不是 localStorage 写错,而是页面命中了 bfcache。本文用 pageshow、pagehide 和 persisted 判断真实生命周期,再给出需要清空状态时的可靠处理方式。170 收藏 -
用 URLPattern 把前端路由规则、命名参数和 URL 校验放在同一处,并为暂不支持该 API 的浏览器准备可靠降级。185 收藏 -
用 structuredClone 复制前端表单草稿时,先分清深拷贝、不可克隆值和 transfer 转移语义,避免原缓冲区被置空或提交时丢失字段。449 收藏 -
前端表单重复提交不能只靠按钮 disabled 解决:浏览器事件、网络重试和用户回退会分别制造重复请求。本文用原生 JavaScript 拆开提交锁、请求幂等键、失败恢复和服务端去重的配合边界。491 收藏 -
文章 · 前端 | 1星期前 | Node.js · javascript · esm · 前端工程化 · JavaScript Node.js ESM 前端构建 import.meta.dirname
从 Node.js ESM 的 import.meta.dirname、import.meta.filename 与 import.meta.url 出发,说明本地文件定位、旧版本兼容、URL 路径和构建发布中的稳妥写法。384 收藏