-
performance.measure的两个参数必须都已存在,否则静默失败;常见漏打场景包括快速连点、钩子中DOM未就绪、路由跳转mark覆盖;验证需用console.assert检查mark是否存在;“渲染完成”应检测真实DOM内容或LCP,而非仅依赖生命周期钩子;上报须节流、抽样、清理。
-
<link>必须放在<head>中,因浏览器流式解析HTML时若将其置于<body>会导致FOUC(无样式内容闪烁)、样式延迟应用甚至不生效,且路径错误、编码BOM等问题也会导致链接失败。
-
Bootstrap4不支持d-inline-flex,应使用.btn-group组件实现按钮并排,因其封装了边框合并、圆角统一和禁用状态联动等关键特性,手动添加display:inline-flex会丢失这些功能。
-
用content-visibility:auto配合contain-intrinsic-size能显著降低首屏渲染耗时,但必须处理好占位尺寸和兼容性,否则滚动会抖、读屏器会漏内容。
-
订单备注输入框应根据内容长度选择:简短说明用<inputtype="text">,多行备注必须用<textarea>;后者支持换行、滚动和语义正确,配合rows、maxlength及white-space:pre-line确保体验与数据一致。
-
JavaScript国际化(i18n)主要通过原生Intl对象实现,基于UnicodeCLDR数据提供日期、数字、货币等语言敏感格式化能力,支持locale匹配、fallback及动态切换,无需外部库。
-
使用visibility属性控制元素可见性,其值为visible、hidden或collapse;visibility:hidden隐藏元素但保留占位,而display:none则彻底移除元素并释放空间。
-
type="tel"在iOS弹带*#的电话键盘,禁字母和小数点;Android行为宽松,可能允许汉字空格;type="number"易输错小数点、丢前导零,故手机号应选type="tel"并配合inputmode="numeric"、pattern和JS校验。
-
浮动布局中垂直对齐需借助其他CSS属性实现,因vertical-align对浮动元素无效。可通过line-height使单行文本居中,或设置父容器为table-cell并使用vertical-align来间接控制。但更推荐改用flex布局,通过align-items:center实现可靠垂直居中,避免float的局限性。