前端技术文章
-
用 structuredClone 复制前端表单草稿时,先分清深拷贝、不可克隆值和 transfer 转移语义,避免原缓冲区被置空或提交时丢失字段。449 收藏 -
围绕 fetch 事件实现缓存优先、网络回退和离线兜底,限定同源 GET 请求,只缓存成功响应,并解释 HTTP 错误、网络异常与 Response clone 的边界。448 收藏 -
在 React 中调用 setState 更新数组状态时,若直接对原数组调用 sort()(会修改原数组),即使内容已变,React 也可能因引用未变而跳过重渲染;而使用 [...arr].sort() 创建新数组,能确保引用变化,触发正确更新。 在 React 里用 setState 更新数组状态448 收藏 -
大文件上传到底该让浏览器把数据交给业务服务,还是直接送到对象存储?本文从流量路径、分片重试、权限边界和完成校验四个维度比较两种方案,并给出基于 Blob.slice、预签名 URL 与 uploadId 的可落地实现边界。448 收藏 -
PWA 发布新版本后,用户仍看到旧页面,通常不是浏览器完全没有更新,而是旧页面、waiting 状态和缓存版本同时存在。本文用一个可落地的 Service Worker 更新流程,讲清缓存命名、skipWaiting、clients.claim、提示刷新和回滚检查。448 收藏 -
文章 · 前端 | 3星期前 | javascript · AbortController AbortSignal.any AbortError TimeoutError AbortSignal reason
AbortSignal.any 会把首个触发源的 reason 原样传给组合信号。本文用 TimeoutError、AbortError、自定义 reason 和来源记录器区分超时与手动取消,并说明竞态与兼容边界。447 收藏 -
TypeScript 条件类型左侧使用裸类型参数时,会对联合类型逐成员计算。本文用 ToArray 示例解释分发原因,并说明如何用方括号关闭分发。447 收藏 -
嵌套面板里定位表单错误、消息或搜索结果时,默认 scrollIntoView 可能把整页一起滚走。本文拆解 container: nearest 的作用范围、兼容回退和验收写法,帮助前端保留用户当前的页面上下文。447 收藏 -
用 CSS :has() 根据子元素的 invalid、checked 或兄弟关系选择父元素,掌握直接子代、兼容降级、特异性与性能边界。446 收藏 -
把前端性能预算拆成图片、脚本和交互三类,给出可落地的体积、长任务、LCP、INP、CLS 阈值,以及如何用实验室测试和真实用户数据持续追踪。446 收藏 -
一、引言:什么是 MxServiceCode?在开发 Web CAD 应用时,我们经常会遇到一些需要在服务器后台处理图纸的需求,比如批量转换格式、提取图纸数据等。这时候,云图开发包中的 MxServiceCode 就派上大用场了。简单来说,MxServiceCode 是一个典型的 CAD 后端服务层446 收藏 -
文章 · 前端 | 2个月前 | 前端 · 路由 · javascript · 兼容性 · 嵌套路由 JavaScript URLPattern URLPattern groups URLPattern test 浏览器 API
用 JavaScript URLPattern 匹配 /:space/:project/:page 这样的嵌套路由,先用 test 判断是否命中,再从 pathname.groups 取参数,并通过特性检测为旧浏览器保留回退路径。445 收藏 -
Nuxt 3 中无法直接使用 this.$refs,但可通过 getCurrentInstance().refs 获取所有已挂载的模板 ref,实现类似 Nuxt 2 的批量遍历逻辑,避免为每个组件重复声明 ref 变量。 Nuxt 3 中无法直接使用 `this.$refs`,但可通过 `getC445 收藏 -
用 HTML Popover API 的 popover、popovertarget 与 JavaScript 方法实现非模态轻量弹层,并说明 CSS 状态样式、toggle 事件、dialog 边界和兼容降级策略。444 收藏 -
WebSocket 客户端不应看到 close 事件就立即重连。本文结合 CloseEvent 的 code、reason、wasClean,把关闭原因分成停止重连、退避重连和先修复协议或权限三类,并给出带抖动退避的 JavaScript 分类器。443 收藏