-
linkrel="preload"as="image"失效主因是路径无效、类型不匹配、时机过晚或MIME不符;应置于head顶部、验证Content-Type、配合fetchpriority="high"精准预加载首屏关键图。
-
formnovalidate属性必须加在<buttontype="submit">或<inputtype="submit">上且位于<form>内;它仅对提交按钮生效,用于单按钮跳过校验,与表单级novalidate互斥但优先级更高。
-
navigator.deviceMemory返回近似分级值(如0.5、1、2、4、8GB),非精确内存容量,仅Chrome63+和Edge79+支持,Firefox/Safari不支持,HTTP下返回undefined,需结合hardwareConcurrency等信号综合判断并降级。
-
@starting-style是CSS动画起始状态声明机制,需配合同名@keyframes和animation使用,仅Chromium114+实验性支持,必须启用实验标志,不兼容Firefox/Safari,不可用于transition,非生产就绪。
-
必须用MiniCssExtractPlugin替换style-loader才能提取独立CSS文件,生产环境启用splitChunks配置cacheGroups实现公共样式合并,Vite默认支持自动CSS分割无需手动配置。
-
可用异步生成器配合事件流实现“边触发、边处理、边产出”的异步数组遍历:定义asyncfunction*,每次await事件后yield当前元素,用forawait...of消费;或手动调度next()与Promise;或基于ReadableStream构建带事件依赖的pull机制,注意清理监听器、错误处理与边界控制。
-
RSC是React生态定义的协议层,非HTML规范一部分;服务器生成RSCPayload(如$1{...}指令流),通过multipart/mixed响应传输,由客户端React运行时解析并构建DOM,HTML仅作为最终宿主容器承载渲染结果。
-
HTML5不支持RTSP,需转为HLS或WebRTC;HLS由浏览器提供进度条但延迟高,WebRTC需自定义进度条,通过时间戳对齐与服务端seek实现,注意音视频同步和缓冲管理。
-
Blob是JavaScript中表示不可变原始二进制数据的内置对象,是二进制数据容器,可由字符串、ArrayBuffer等创建,File是其子类;需用newBlob([data])构造,读取依赖异步方法如text()或arrayBuffer(),下载时常用URL.createObjectURL()生成临时链接。
-
纯HTML星级评分需用5个同name的radio按钮+对应label,input必须前置且隐藏(clip而非display:none),label紧随其后以支持:checked+label样式联动及可访问性。
-
Element.matches()用于检查元素是否匹配CSS选择器,返回布尔值;IE8-不支持,需用querySelectorAll模拟,注意选择器合法性及转义。
-
type="email"和type="url"仅做基础语法校验:前者接受foo@bar,后者在Chrome中接受example.com;强校验需pattern锚定(如^\d{11}$)或JS补充,required只判空不验内容,原生验证仅submit触发。
-
可通过CustomEvent配合dynamicimport实现模块按需懒加载:1.点击等交互时dispatch带参数的自定义事件;2.全局监听并import()加载,用Map缓存避免重复;3.懒加载模块导出init等方法,不自动执行副作用;4.可结合IntersectionObserver自动触发。
-
这不是bug,是Grid默认行为:grid-auto-rows为auto时各行高度由内容独立决定;1fr需父容器有明确高度上下文;align-items:stretch被子项尺寸声明覆盖;跨行不改变轨道自身高度。
-
Less嵌套不改变CSS权重,关键在编译后选择器字符串;应显式用>、禁用空格、&开头写伪类,避免超3层嵌套和跨区域硬套。