-
浏览器支持的href协议包括http、https、ftp、file、mailto、tel、sms、data及自定义协议;其中http/https默认启用,file在现代浏览器中基本禁用,dataURL过长会截断,自定义协议依赖系统handler注册;锚点跳转需目标元素含id属性,特殊字符需编码;路径解析以当前URL为基础;CSP等安全策略可能拦截tel:、javascript:等协议。
-
scroll-snap-type必须配合scroll-snap-align才生效;仅设容器scroll-snap-type:ymandatory不触发吸附,需在每个子元素上显式声明scroll-snap-align:start/center/end,且容器须有溢出滚动(overflow-y:auto)和固定高度。
-
HTML结构本身不参与关键词排名计算,但错误结构会导致搜索引擎无法识别内容重点;真正起效的是语义标签、内容层级与位置信号共同构建的「可理解性」。
-
分片迭代通过将大任务切分为小块并用setTimeout让出主线程,保障页面响应性。它避免单线程阻塞导致UI假死,适用于顺序不敏感、中等数据量场景,核心是固定块大小、索引控制范围、setTimeout(…,0)调度。
-
Object.fromEntries不支持嵌套解析,需手动实现nestedAssign:先按数组语法(key.endsWith('[]'))或点号路径(key.split('.'))分类处理entries,逐层创建对象或推入数组,注意类型兼容与空值语义。
-
article标签本身不直接提升SEO排名,但错误使用会损害SEO和无障碍体验;它向搜索引擎和读屏软件表明内容可独立索引与分发,必须包裹真正具备独立语义的内容(如博客正文、新闻稿、单条评论),且每个article必须含且仅含一个有意义的h1–h6标题。
-
CSScubic-bezier()仅控制属性值随时间变化的速率,不改变运动路径;如配合translateX()或opacity使用,元素仍沿直线运动,无法实现弧线轨迹。
-
HTML5拖拽API仅捕获拖放动作并获取FileList,上传需配合FileReader或FormData与fetch/XHR;dragover和drop事件必须调用preventDefault(),否则流程中断;应直接使用dataTransfer.files而非items,移动端需降级为fileinput。
-
CSS选择器无法向上选择父元素,这是由规范决定的设计限制;:has()是唯一例外但支持有限且性能开销大,真正需要父子联动时应使用JavaScript。
-
函数组合(compose)从右到左执行,如f(g(h(x)));管道(pipe)从左到右执行,更符合阅读顺序;二者均通过reduce或reduceRight实现,依赖纯函数与一元化设计以保障可靠性。
-
HTML本身不支持工厂模式,“HTML工厂模式”实为用JavaScript在浏览器中模拟工厂逻辑,动态创建并组装DOM元素;核心是封装document.createElement等操作为可扩展、解耦的函数或类,统一接收配置对象、返回HTMLElement实例,避免硬编码与原型污染,按项目复杂度选用简单工厂、工厂方法或抽象工厂结构。
-
支配者树是反映“谁不释放谁就无法被回收”的逻辑结构,直接定位导致内存峰值的顶层支配对象;其RetainedSize越大,说明该对象锁死的内存越多,往往是泄漏源头或误缓存根节点。
-
Chrome等现代浏览器要求视频自动播放必须同时满足autoplay、muted和playsinline属性,否则因策略限制无法播放;用户手势是解除静音的唯一合规时机。
-
datalist本质是为input提供纯文本自动补全的语义容器,仅支持直接子元素option且内容须为纯文本,不支持多列、CSS样式或复杂结构;实现多列需改用自定义下拉组件。
-
data-*属性不参与CSS布局,仅用于存储元数据;布局需依赖class、id及CSS规则,如Flex/Grid;其典型用途是JS读取配置或CSS语义钩子,如[data-state="loading"]控制样式。