-
decode()是HTMLImageElement的异步方法,必须在JavaScript中调用并处理Promise,不能直接写在HTML标签里;正确做法是监听load事件后调用decode(),仅在其resolve后才显示图片。
-
noindex和nofollow是独立指令,可单独使用;noindex使页面不被索引但需先被抓取,nofollow在meta中效果弱于rel="nofollow",robots.txt优先级高于metarobots,X-Robots-Tag优先级最高。
-
Bootstrap5的断点是明确定义的六个min-width像素值:xs(0)、sm(576)、md(768)、lg(992)、xl(1200)、xxl(1400),全部锚定在$grid-breakpoints变量上,媒体查询以min-width为唯一依据,且断点“向上生效”。
-
DOM操作是JS与网页结构的唯一接口;选元素用getElementById(快、专用于id)或querySelector(灵活但慢、只返首个);改内容用textContent(安全)而非innerHTML(防XSS);append需传节点而非字符串;注意操作时机与事件监听器丢失。
-
Modal内容无法点击是因为.modal-backdrop的z-index意外高于.modal-dialog,根源在于父容器创建了新的层叠上下文(如transform、opacity<1),导致.modal-dialog的z-index失效;应检查祖先元素、确保定位属性有效,并优先使用data-bs-backdrop="false"等语义化方案。
-
必须用box-sizing:border-box、calc()预留误差、BFC防塌陷;因content-box下width不包含padding/border,易超100%换行,且浮动致父容器塌陷需清除。
-
animation-timing-function通过速度曲线控制CSS动画节奏,不改变总时长;支持ease、linear、ease-in/out、steps()及cubic-bezier()自定义,需符合[0,1]参数范围,且transition与animation共用该属性。
-
fixed定位失效的根本原因是父容器使用transform、perspective或filter创建新层叠上下文,使fixed脱离视口参考系;z-index失效源于层叠上下文断层;iOS安全区需用env(safe-area-inset-bottom)适配;性能问题需优化will-change和pointer-events。
-
用?构建高兼容性解析引擎需显式建模可选结构,结合业务语义、字符集、非捕获分组与锚点提升精度,慎用嵌套?防回溯爆炸,并配套fallback路径与部分匹配机制。
-
VueRouter路径标准化是初始化时对path字符串的必经清洗处理,包括压缩多斜杠、折叠./..、统一根路径等,确保匹配稳定;它发生在createRouter阶段,由normalizePath()执行。
-
Permissions-Policy已取代Feature-Policy,旧头在Chrome100+等浏览器中静默失效;必须使用Permissions-Policy响应头和allow属性(分号分隔、括号指定来源),且需明确控谁、控什么、在哪控。
-
核心思路是解耦WebSocket通信与DOM操作:收到消息后转为自定义事件(如"ws:chat:message")派发,由业务组件监听响应。此举避免强耦合、提升复用性与可测试性,并支持多组件响应同一消息;需配合心跳状态事件、ACK机制及可选局部事件总线保障可靠性与性能。
-
JavaScript生成器是能暂停和恢复执行的特殊函数,通过yield交出控制权并返回值;用function*声明,调用后返回可迭代的生成器对象,其next()方法逐步执行并返回{value,done}。
-
用:not(.target)最安全,但括号内仅限单个简单选择器;语法错误(如:not(.a.b))会导致整条规则被浏览器丢弃;排除多个类需链式写:not():not(),且:not()仅作用于目标元素自身,不涉及祖先或后代。
-
:invalid抖动动画需确保输入框参与原生验证(如加required),配合animation-fill-mode:both和animation:none重置,兼容Safari及移动端,并响应prefers-reduced-motion降级为静态提示。