javascript
已收录文章:35篇
-
大文件上传卡顿,通常不是把请求并发数调大就能解决。前端需要先把 File 切成固定大小的分片,用 SHA-256 或服务端校验确认每片,再用有限并发窗口上传,失败时只重试缺失分片。本文用浏览器原生 API 拆出一套可回查、可暂停、可恢复的实现边界。211 收藏
-
前端表单重复提交通常不是单纯把按钮 disabled 就能解决。本文从 submit 事件、form.submit()、requestSubmit() 和原生校验的差异出发,给出一次提交门闩、异步恢复与键盘回车场景的可验证写法。200 收藏
-
用户连续点击提交按钮,常见结果是重复请求、重复订单或失败后无法恢复。本文从 HTML formdata 事件切入,拆开提交锁、请求取消、失败恢复和键盘回车的边界,给出可核对的前端实现。190 收藏
-
文章 · 前端 | 1个月前 | 前端 · 浏览器 · javascript · css · 交互体验 · CSS过渡 dialog popover CSS @starting-style 首次显示动画元素第一次进入页面或从 display:none 变为可见时,普通 transition 没有起始帧,popover 和 dialog 尤其容易出现硬切。CSS @starting-style 可以补上首次显示状态,但仍要处理 overlay、关闭动画、浏览器降级和 prefers-reduced-motion。171 收藏
-
科技周边 · 业界新闻 | 2个月前 | 依赖 · Node.js · javascript · 业界新闻 · 版本升级 · 升级 ReadFile 回归测试 Node.js 26.4.0 package mapsNode.js 26.4.0 带来 package maps、readFile 调用方缓冲区等变化。本文按项目依赖、构建工具和文件读取热点给出一套试用与回归判断路径。139 收藏
-
文章 · 前端 | 1个月前 | html · 前端 · javascript · css · 表单校验 Web Components ElementInternals form-associated custom elements setValidity把日期选择器、验证码框等自定义元素接入原生 form,不必再在提交事件里重复拼装校验。本文用 ElementInternals、setFormValue 和 setValidity 做一个可提交、可校验的 custom element,并说明浏览器能力不足时如何降级。134 收藏
-
文章 · 前端 | 1个月前 | 前端 · javascript · 前端动画 document.startViewTransition View Transitions API startViewTransition SPA页面切换单页应用切换列表与详情时,可以用 document.startViewTransition 包住 DOM 更新,让浏览器接管新旧视图的过渡;同时保留 prefers-reduced-motion 和 API 能力检测,确保不支持时仍能正常切换。128 收藏
-
原生 HTML dialog 关闭后,焦点恢复、Esc 取消和按钮结果经常被混在一起。本文用一个可复现的确认框拆开 showModal、returnValue、cancel/close 事件和焦点恢复的边界。128 收藏
-
前端上传几百 MB 文件时,真正容易卡住的不是单个请求,而是分片队列、并发窗口和失败重试互相放大。本文用浏览器 File.slice、Promise 队列和服务端分片状态,拆解从一次性上传改成可暂停、可续传方案时的架构取舍。127 收藏
-
网页里同时存在 dialog、抽屉和自定义浮层时,可用 CloseWatcher 统一接收 ESC 或系统返回关闭请求,再把焦点恢复、脏数据确认和旧浏览器回退放进同一条关闭链路。126 收藏
-
HTML inert 是一个全局布尔属性,可以让元素及其后代暂时不能获得焦点、点击或进入辅助技术的可访问性树。本文用一个可关闭弹窗说明如何切换 inert、保留弹窗内焦点、处理 Escape 和旧浏览器降级,并列出容易把 aria-hidden、pointer-events 与 inert 混用的边界。103 收藏