前端技术文章
-
漏了user-scalable=no会导致浏览器允许缩放,双击或手势后残留放大态,小数像素渲染误差使Grid边缘错位出白边;应补上该参数或改用maximum-scale=1.0并配合body{margin:0}、minmax()等精度控制。397 收藏 -
移动端涟漪不触发主因是iOSSafari等浏览器默认禁用:active伪类以避免误触,须加touch-action:manipulation启用;纯CSS方案连点易错位,JS动态创建涟漪元素可确保坐标精准、互不干扰。447 收藏 -
直接调用getTotalLength()是唯一可靠方式,需确保路径元素已插入DOM且可见;动态更新d属性后须重新调用,CSS动画中应通过自定义属性传递长度值。270 收藏 -
abbr必须带非空、准确、标准的title属性才具语义作用,否则等同普通span;title仅提供结构化语义,不适用于可控UI提示,且移动端基本无效。291 收藏 -
会,因为surroundContents要求Range起点和终点必须在同一Text节点内,跨元素、跨块级容器或含HTML标签时均抛RangeError;安全用法需前置校验同节点且为文本节点,否则应改用extractContents+insertNode。208 收藏 -
WeakMap结合不可枚举属性可安全管理动态对象的状态通信:WeakMap解决生命周期同步与自动清理,不可枚举属性隐藏访问入口,防止篡改、泄漏和误删,实现防篡改、免泄漏、零手动清理。214 收藏 -
checkValidity()仅校验不触发样式,需reportValidity()或手动处理;对disabled元素恒返true;动态添加字段须用form.append而非innerHTML;setCustomValidity("")才能清除自定义错误;框架中需等DOM同步后再调用。387 收藏 -
用setCustomValidity()可覆盖浏览器默认错误文案,传空字符串表示通过,传非空字符串触发customError状态并阻止提交;需在input/blur事件中动态设置,配合DOM更新实现UI同步提示。403 收藏 -
移动端font-variant-numeric失效主因是字体未内置OpenType数字特性(如tnum/lnum),系统默认中西文字体普遍仅支持比例数字;需用font-feature-settings实测验证,或换用已知支持的字体栈。360 收藏 -
Array.from仅通过Symbol.iterator协议识别可迭代对象,不依赖类型或类数组结构;只要对象拥有返回合法迭代器的[Symbol.iterator]方法,即可转换为数组。264 收藏 -
html2text最稳,适合批量处理;turndown适合前端定制但已停更;pandoc高保真但丢样式;在线工具仅限临时救急。批量转HTML到Markdown首选html2text,需加-b0、-g、--unicode-snob等参数避坑。490 收藏 -
CSS属性书写顺序对渲染性能没有可测量影响,浏览器先收集全部声明再统一计算,不按文本顺序逐条执行;Recess等工具推荐的顺序仅为提升可读性、可维护性和协作效率,并非性能优化手段。158 收藏 -
可在HTML中用<metaname="auth"content="whitelist">声明免登录页,路由守卫据此跳过登录校验,适用于内部工具等无需鉴权场景,但关键接口仍需服务端鉴权。363 收藏 -
tel链接失效主因是href含空格或中文,须用纯数字;mailto参数需URL编码防截断;移动端拦截需原生a标签同步触发;邮箱暴露风险无法前端规避。146 收藏 -
预渲染适合内容静态、路由固定的关键页面(如首页、关于页),用于快速提升SEO和首屏性能;其原理是在构建时用无头浏览器访问路由并保存完整HTML快照,部署后直接返回静态文件。298 收藏