-
ServiceWorker无法直接解压文件,因其运行环境受限且无原生解压缩API;需通过拦截请求+主线程协作(如JSZip或WASM库)实现解压,或采用预解压+清单映射的轻量方案。
-
SharedWorker本身不是单点故障源,而是唯一能避免单点故障的设计载体;需通过错误监听、双通道降级、ServiceWorker协同及BroadcastChannel状态同步实现高可用。
-
必须用<nav>包裹导航区,因其是HTML5语义化标签,影响SEO、键盘导航与读屏器识别;错误混入搜索框或滥用多个<nav>会破坏可访问性;推荐Flexbox布局并配合ARIA属性实现健壮、无障碍的下拉菜单。
-
根本原因是flex默认按项目整体分配空间,文字长度动态变化导致图标无法锚定末尾;需用inline-flex替代flex,文字设min-width:0和overflow:hidden,图标设flex:00auto,才能真正紧贴文字末尾。
-
Canvas绘图失败、事件无响应的三大主因:未调用getContext("2d")获取绘图上下文;width/height误设为CSS样式而非HTML属性;点击坐标未通过getBoundingClientRect()换算。
-
JavaScript生成器通过function*和yield实现暂停与恢复,具备协程特征。调用next()执行到yield暂停并返回值,再次调用则从暂停处继续,支持外部传参实现双向通信,适用于异步控制与状态机。结合Promise和自动执行器(如run函数),可让生成器以同步形式处理异步操作,例如yield后接Promise,执行器递归调用next等待resolve。async/await是生成器+Promise的语法糖,更简洁但功能较局限,而生成器还可用于惰性求值、无限序列等场景,依然具有精细控制执行流的
-
^=匹配属性值开头字符串,区分大小写且纯字面匹配;$=匹配结尾字符串,同样区分大小写;=要求属性值完全相等;*=进行子串搜索,最宽松但易误匹配。
-
light-dark()不是标准CSS函数,Chrome125+/Safari17.4+仅有限支持且需手动启用或受限属性,Firefox及旧版浏览器静默忽略;赋值给CSS变量会失效,因计算结果不响应主题切换;唯一可靠方案是@media(prefers-color-scheme)。
-
is属性是唯一合法方式,用于将原生HTML标签(如<canvas>)升级为定制化内置元素;不支持<divis="...">等非法用法,且必须配合customElements.define()中{extends:"canvas"}选项及正确构造函数调用。
-
clear:both无效是因为它只避开前一个浮动元素,不解决父容器塌陷;应使用::after伪元素触发BFC清除浮动,现代表单推荐flex布局。
-
闭包本身不提供回滚能力,但它是组织“原子化回滚”逻辑最自然的载体——关键在于把整个表单提交流程封装进一个受事务保护的执行单元中,让异常穿透触发数据库与内存状态的联动回滚。
-
WeakRef仅提供弱持有,不自动销毁数据;需结合视口监听、主动清理和安全访问机制实现视口外数据释放。
-
实现断点续推需服务端识别Last-Event-ID并为每个事件分配唯一有序字符串ID,客户端EventSource自动携带该ID;服务端校验请求头、容错处理,并按ID精准定位后续数据起始位置。
-
<metacharset="UTF-8">必须置于<head>内首个可解析标签位置,否则浏览器可能已按默认编码(如ISO-8859-1)开始解码,导致中文乱码且刷新无效;其值须严格为“UTF-8”,文件保存也须为UTF-8无BOM,且与HTTP响应头charset一致。
-
hidden属性与display:none本质不同:前者是HTML5语义化布尔属性,影响DOM可访问性、表单提交和SEO,且可被CSS覆盖;后者是CSS渲染控制,彻底移除元素于渲染树。