前端技术文章
-
闭包通过作用域隔离与受控接口实现原始数据不可变性:内部状态不暴露,get()返回只读副本,update()强制校验,subscribe()传递冻结快照,杜绝引用泄露、校验缺失和多实例污染。444 收藏 -
prefers-reduced-motion仅响应用户主动开启的“减少动画”偏好,与设备刷新率、GPU性能等硬件能力无关;它不感知高刷屏,也不能触发帧率适配,W3C明确将其归为用户偏好而非性能信号。444 收藏 -
position:absolute易使登录框“飘”出视口,因其默认相对于最近非static祖先定位;若父容器未设position:relative,则回退至视口定位,且top:50%;left:50%仅锚定左上角,不加transform:translate(-50%,-50%)会导致偏移。444 收藏 -
直接用:hover切换background-image会闪屏,因浏览器不预加载hover图,首次请求导致延迟;且background-image不支持transition,须用双层容器opacity动画或伪元素实现淡入。444 收藏 -
Dreamweaver2026中align属性失效,因HTML5已废弃该内联属性;应改用CSS控制对齐:float、margin:auto、Flex布局或vertical-align等现代方案。443 收藏 -
type="hidden"是唯一真正隐藏且参与提交的HTML5表单字段方式;它不渲染、不聚焦、不触发事件,但会随表单提交,而display:none等仅视觉隐藏仍参与验证和自动填充。443 收藏 -
ref初始化为null是设计使然,因DOM未生成时无对象可指;其赋值严格发生在onMounted钩子中,v-if、异步组件等场景下需额外监听条件或使用ref数组。443 收藏 -
JavaScript支持多种算法实现,排序算法如冒泡排序通过相邻元素交换实现升序排列,快速排序采用分治法递归分割数组;查找算法中二分查找适用于有序数组,通过比较中间值缩小范围。443 收藏 -
lang属性必须显式声明在<html>标签上,浏览器和屏幕阅读器依赖它识别语言;子语言切换需用lang而非CSS或HTTP头;语义标签需配合lang声明语言边界;dir与lang须组合使用;多语言导航需<nav>包裹并为每个链接设hreflang和lang。443 收藏 -
答案是使用命名实体或数字实体转义特殊字符。通过<、>、&等命名实体或<、<等数字实体,可防止浏览器误解析为HTML代码,确保字符正确显示并避免安全风险。443 收藏 -
content-visibility:auto适用于跳过离屏渲染但保留占位与无障碍,IntersectionObserver专用于触发非渲染副作用;二者分工明确,混用需避免破坏缓存与高度失真。443 收藏 -
现代浏览器中autoplay基本无效,因Chrome、Firefox、Safari自2018年起强制执行媒体策略:有声媒体必须由用户手势(如click、touchstart)触发,否则play()抛出DOMException错误;静音视频可自动播放,但需配合用户交互后解除静音并调用play()。443 收藏 -
240px1fr是最简且最稳的写法,因它明确指定第一列固定240px、第二列占剩余空间,不依赖内容、无兼容风险,且避免溢出、无效百分比及冗余minmax。443 收藏 -
用 CSS field-sizing: content 让文本输入框按内容收缩和增长,同时用 min-width、max-width 与 fallback 控制窄屏布局和旧浏览器兼容。442 收藏 -
文章 · 前端 | 1个月前 | 前端 · javascript · AbortController · 表单提交 · AbortController 旧响应覆盖 前端重复提交 loading锁 fetch取消 按钮防抖
用一个可复制的前端配方解决按钮重复提交:解释连续点击为什么会造成旧响应覆盖新状态,并用 loading 锁、AbortController、最新序号和 finally 恢复按钮状态。442 收藏