前端技术文章
-
跨文档 View Transitions 不是给单页应用换皮:当前页和目标页要同源并同时用 @view-transition 选择加入,元素命名还要避免冲突。本文从多页站点导航现场出发,给出最小接入、滚动位置处理、浏览器降级和上线验收清单。412 收藏 -
View Transition API 能让页面切换从硬切变成连续过渡,但快照时机、伪元素样式和不支持浏览器的降级处理,都会造成白闪、旧页面残留或动画不生效。本文从可复现的闪烁现场出发,逐项定位并给出可回退的实现方式。394 收藏 -
Fetch API 适合现代上传请求,但标准接口目前没有通用的上传进度事件。本文用一个可回退的前端上传流程,说明何时选择 XMLHttpRequest、如何显示进度,以及取消、失败和重复提交怎么验收。290 收藏 -
文章 · 前端 | 5天前 | 前端 · javascript · Web API · 页面过渡 · 前端动画 document.startViewTransition View Transitions API startViewTransition SPA页面切换
单页应用切换列表与详情时,可以用 document.startViewTransition 包住 DOM 更新,让浏览器接管新旧视图的过渡;同时保留 prefers-reduced-motion 和 API 能力检测,确保不支持时仍能正常切换。128 收藏 -
文章 · 前端 | 5天前 | css · 前端开发 · 用户体验 · 响应式布局 · 页面导航 · 移动端适配 锚点定位 CSS scroll-margin-top 固定导航 scroll-padding-top
页面使用 position: sticky 或 fixed 固定导航后,跳转到标题的锚点常常被导航栏盖住。本文用 scroll-margin-top 与 scroll-padding-top 区分元素级和容器级修复,补上动态导航高度、移动端安全区和浏览器降级检查。336 收藏 -
WebSocket 断线重连最容易踩中旧连接复活:旧 socket 的 close 回调晚到,可能覆盖新连接状态。本文从 readyState、连接代次、指数退避和手动关闭四个边界出发,给出可验证的浏览器实现。467 收藏 -
拖拽排序松手后顺序回跳,通常不是 CSS 问题,而是指针位置、占位元素和最终数组没有在同一个时序里更新。本文用 Pointer Events、占位节点和单一提交点拆解竞态,并给出可复核的实现与验收方法。296 收藏 -
用浏览器原生 Popover API 做一个键盘可用的操作菜单,覆盖 popovertarget、自动关闭、焦点回收、toggle 事件和不支持浏览器的降级方案。340 收藏 -
CSS if() 可以在单个属性值中根据 style()、media() 或 supports() 条件选择结果,适合收拢主题和响应式分支,但它仍是实验性能力。本文用自定义属性示例说明条件顺序、else 回退、@media 与 @supports 的边界,并给出上线前的兼容检查。216 收藏 -
前端允许上传 SVG 时,不能只看文件名或 input 的 accept。本文从浏览器提示、服务端类型判断、内容净化、隔离存储和回归验证五个层面,给出一套可落地的安全边界。398 收藏 -
用 View Transitions API 给列表新增、删除和筛选加上稳定的视图过渡,同时保留不支持浏览器和减少动态效果用户的可用回退。441 收藏 -
首屏图片明明已经压缩,LCP 仍然偏慢,常见原因是资源发现晚、优先级被误用或懒加载挡住了关键图。本文用 fetchpriority、loading、preload 和 DevTools 网络瀑布建立一套可验收的加载顺序。476 收藏 -
前端列表从几百行涨到上万行后,滚动掉帧通常不是单个 CSS 属性造成的。本文用长列表筛选和滚动场景拆解 DOM 数量、批量渲染、可视窗口与主线程任务,给出可复现的 60 FPS 验收方法和回退边界。458 收藏 -
横向卡片滑动不应只停在 scroll-snap-type:用 scroll-snap-align、scroll-padding 和 scroll-snap-stop 组合出可控的触摸体验,再用键盘焦点、窄屏和快速甩动验收边界。404 收藏 -
文章 · 前端 | 6天前 | 浏览器 · javascript · 前端性能 · scheduler.postTask Prioritized Task Scheduling TaskController 前端任务调度
用 scheduler.postTask 把用户可见工作与后台任务分开,讲清优先级、TaskController 取消、能力检测和不支持时的 setTimeout 降级边界。372 收藏