前端技术文章
-
用户连续点击提交按钮,常见结果是重复请求、重复订单或失败后无法恢复。本文从 HTML formdata 事件切入,拆开提交锁、请求取消、失败恢复和键盘回车的边界,给出可核对的前端实现。190 收藏 -
从输入事件顺序、中文输入法组合态和浏览器 undo 栈三个角度,排查表单撤销失效,并给出可验收的实现边界。186 收藏 -
用 URLPattern 把前端路由规则、命名参数和 URL 校验放在同一处,并为暂不支持该 API 的浏览器准备可靠降级。185 收藏 -
文章 · 前端 | 2个月前 | 前端 · 性能优化 · javascript · 图片优化 · IntersectionObserver · 前端 性能优化 图片懒加载 IntersectionObserver Web性能 首屏优化
本文用商品列表图片场景,演示图片为什么会拖慢首屏,并用 IntersectionObserver 实现占位、进入视口、替换地址和加载完成的懒加载流程。184 收藏 -
Navigation API 已在 2026 年进入 Baseline。本文用最小路由示例讲清 navigate 统一拦截、同源边界、加载失败与 History API 渐进回退。183 收藏 -
接口本质上是一组抽象方法的声明,可以把它理解为若干方法特征的集合。这些方法本身并不提供具体实现,而是交给具体的类去完成。这样一来,第三方只需要面向这组抽象方法进行调用,至于最终由哪个具体类来执行对应逻辑,则由实现方负责。 TypeScript 接口定义如下: interface interface_181 收藏 -
面向 CSS position: sticky 不生效的排查清单,按现象、分层检查、证据判断、修复动作、反向验证和最终清单逐步定位 top、overflow、父级高度与滚动容器问题。179 收藏 -
通过搜索框实时请求场景,演示如何用 AbortController 取消过期 fetch 请求,避免旧接口结果覆盖新输入结果,并给出 React/Vue 通用封装思路。178 收藏 -
围绕主题按钮的 hover、浅色背景和边框状态,用 CSS color-mix() 派生 token,再按对比度阈值验收并保留旧浏览器 fallback。173 收藏 -
文章 · 前端 | 1星期前 | 前端 · 浏览器 · javascript · css · 交互体验 · CSS过渡 dialog popover CSS @starting-style 首次显示动画
元素第一次进入页面或从 display:none 变为可见时,普通 transition 没有起始帧,popover 和 dialog 尤其容易出现硬切。CSS @starting-style 可以补上首次显示状态,但仍要处理 overlay、关闭动画、浏览器降级和 prefers-reduced-motion。171 收藏 -
浏览器回退后表单内容仍然保留,通常不是 localStorage 写错,而是页面命中了 bfcache。本文用 pageshow、pagehide 和 persisted 判断真实生命周期,再给出需要清空状态时的可靠处理方式。170 收藏 -
我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。 在 TypeScript 里,元组(Tuple)可以理解为一种“更有边界感”的数组。它和普通数组最大的区别就在于:元组允许把不同类型的值放在同一个数组里,而且每个元素不仅类型是168 收藏 -
文章 · 前端 | 5天前 | html · 前端 · javascript · 弹窗 · 浏览器API · dialog close cancel HTMLDialogElement requestClose
用原生 dialog 做确认弹窗时,requestClose() 能把 Esc、关闭按钮和脚本关闭统一到 cancel 与 close 两个事件,并保留 returnValue 的结果语义。163 收藏 -
CSS shape() 可以把响应式卡片的裁切路径写成相对尺寸,让 clip-path 在容器变化时保持比例;本文用真实 CSS 片段拆开坐标起点、line/curve 命令、百分比伸缩和 @supports 回退验收。160 收藏 -
本文介绍如何通过原生 Ja vaScript 实现:当用户从嵌套的 子菜单中选择任意选项时,该选项自动移至 下拉框顶部并设为当前选中值,提升用户体验与交互一致性。 本文介绍如何通过原生 Ja vaScript 实现:当用户从嵌套的 `` 子菜单中选择任意选项时,该选项自动移至 `` 下拉框顶部并设为156 收藏