-
Lighthouse自定义指标是通过UserTimingAPI在页面中插入以user-开头的mark和measure,用于监控特定业务逻辑耗时。开发者可在性能报告中查看这些指标,结合CI/CD实现持续性能追踪,确保关键路径性能可控可优化。
-
JavaScript通过document.cookie读写Cookie,其本质是需手动解析拼接的字符串;读取需split分隔并解码value,设置需拼接key=value及expires/path/domain等选项,删除则覆盖过期时间。
-
order属性仅对Grid或Flex容器的直接子项生效,父容器必须设置display:grid(或inline-grid),否则无效;其值默认为0,数值越小越靠前,负数合法;order相同时按HTML源顺序排列;它改变视觉及可访问性顺序,影响tab键焦点和屏幕阅读器朗读;不支持CSS过渡,动画需用transform模拟。
-
CSS径向渐变用radial-gradient()实现,至少需两个颜色,可指定形状(circle/ellipse)、尺寸(如farthest-corner)和位置(atxy),支持多色与色标控制,现代浏览器均兼容。
-
可用记事本、TextEdit(设为纯文本)、VSCode等编辑HTML,保存为UTF-8无BOM;双击打开可预览,但开发推荐LiveServer或python3-mhttp.server;路径须相对于HTML文件,注意大小写和404错误。
-
JavaScript创建自定义事件需用CustomEvent构造函数(可带detail数据)、dispatchEvent触发(支持元素或document广播)、addEventListener监听(通过e.detail获取数据),注意冒泡、取消及内存泄漏。
-
侧滑删除菜单用transform而不用left或margin,因其触发硬件加速、避免重排卡顿;需配合will-change、overflow:hidden、精准贝塞尔过渡及touchmove实时计算位移,并处理框架响应式冲突与iOS/安卓兼容性问题。
-
用dataset存状态比class更可靠,IntersectionObserver替代scroll监听,getBoundingClientRect需校正缩放与iframe偏移,React/Vue中key要稳定、ref要延迟读取,状态更新需分数据层、视图层、时机钩子三层协同。
-
Vue3中watch不支持直接监听多个独立响应式变量,需通过数组包装ref、监听reactive对象的组合属性、使用watchEffect自动追踪或分别监听等方式实现多源响应。
-
Safari15.6中grid-template-areas含连字符(如"header-nav")会静默失效,导致display:grid回退为block,应改用下划线或纯字母命名,并避免subgrid;Edge18不支持gap,需用margin模拟;Firefox120前不支持:has();IE11和iOS9.3不支持CSS变量动态更新,需静态替换或JS控制;clip-path等细微差异需真机多版本测试。
-
var声明变量会提升并初始化为undefined,let/const虽提升但处于暂时性死区(TDZ),声明前访问抛出ReferenceError;var是函数作用域,let/const是块级作用域;const必须初始化且不可重新赋值,但引用类型内部可变。
-
XSS防护需多层防御,核心是不信任用户输入并转义输出;使用白名单验证数据,优先用textContent避免innerHTML,必要时结合DOMPurify等库;模板引擎启用自动转义;配置CSP响应头限制脚本来源,禁用unsafe-inline和unsafe-eval,采用nonce或hash机制授权内联脚本;避免eval、document.write等危险API;通过report-uri监控违规行为;全链路控制输入、输出与浏览器策略,确保各环节安全。
-
推荐用@mixintypography($size,$weight,$lh)封装字体样式,以rem为单位、无单位行高、语义化字重变量,兼顾响应式、可维护性与无障碍;CSS变量适合动态主题,Sassmixin更适合设计系统约束与兼容性保障。
-
:focus状态下outline不消失是因浏览器UA样式优先级高或:focus-visible策略干扰;应避免直接outline:none损害可访问性,改用outline:2pxsolidtransparent或自定义样式,并补充-webkit-appearance:none等兼容写法。
-
步骤条跳转逻辑由父组件状态和业务规则控制,Emit仅传递点击意图;父组件校验后更新currentStep并加载数据,推荐用v-model封装以保持子组件纯粹。