《互联网产品的客户端架构·内容、社交与实时互动》3.3 媒体懒加载与占位:CLS 的端上来源
图片把正文撑开的那一刻,CLS 就已经发生。本节把占位盒、首屏媒体优先级、懒加载触发条件与失败降级拆成可计算的纯函数,用固有宽高和可视区域算出布局位移分数,复盘一次信息流图片加载导致误触的抖动事故与修复顺序,并给出与结构化块模型、sanitize 的接口边界。
tag
图片把正文撑开的那一刻,CLS 就已经发生。本节把占位盒、首屏媒体优先级、懒加载触发条件与失败降级拆成可计算的纯函数,用固有宽高和可视区域算出布局位移分数,复盘一次信息流图片加载导致误触的抖动事故与修复顺序,并给出与结构化块模型、sanitize 的接口边界。
作者正文、运营配置、第三方嵌入的信任级别并不相同。本节把 sanitize 定义为能力边界而不是标签黑名单,给出作者、运营、嵌入三套白名单策略,处理 URL 协议与实体编码绕过,并用测试复盘一次直接 innerHTML 导致的脚本注入事故与修复顺序。
正文不该是一段 HTML 字符串,而是一份可校验、可降级的块文档。本节定义段落、图片、视频、代码、引用五类块与行内标记,给出未知块降级、未来版本拒绝与确定性序列化的 TypeScript 实现,并用测试覆盖迁移、round-trip 与坏字段。