外部嵌入内容不可用时,不要保留一个空白容器或只写“加载失败”。更稳妥的做法是按“该内容是否属于页面核心信息”分两种条件处理:核心信息必须提供本地替代说明,非核心信息可以降级为一行提示并保留指向来源的普通链接。判断依据不是加载快慢,而是这段内容缺失后,页面还能不能独立回答用户的主要问题。
把嵌入内容分两类,替代方案完全不同。
判断动作:把嵌入部分临时删除,再读一遍页面。如果读者仍能理解并完成下一步操作,说明它是补充信息;如果读者会卡住,说明它是核心信息。这个动作的结果直接决定你走哪条替代路径。
核心信息不可用,替代说明要满足三个条件:说明缺失原因、给出可核对的替代内容、告诉用户下一步。
假设一个产品页嵌入第三方参数表,该表因对方服务中断无法显示。可以这样处理:
动作结果是:用户不会因为空白区域而离开,页面仍能独立回答主要问题。下一步是把这段替代说明纳入发布前检查,而不是等嵌入失败后再临时补。
“内容加载失败,请稍后再试”对用户没有帮助。更好的写法是直接给出缺失内容的最小可用版本,例如关键字段、更新时间、来源名称。注意:不要编造来源没有提供的数字,也不要把假设数据写成真实数据。
补充信息不可用时,不必复制完整内容。一个可执行的降级方案是:
动作结果是:页面布局不会因为空容器而错位,用户也不会误以为页面损坏。下一步是检查这个容器是否被其他脚本依赖;如果被依赖,要先移除依赖再删除容器,否则可能触发新的报错。
出现与直觉相反的结果时,不要只凭一次失败就断定来源永久失效。可以按以下证据区分:
注意:请求量或抓取量归零不能单独证明来源已永久移除,它也可能是统计口径变化、访问限制或采集延迟造成的。要结合来源方状态和多个页面表现一起判断。
有两种情况可以不写替代说明。第一,嵌入内容只是装饰,删除后不影响阅读和操作。第二,页面本身已经用文字完整覆盖了同一信息,嵌入只是重复展示。除此之外,只要缺失会让用户无法完成主要任务,就应当提供替代说明。
把这些判断写成发布前检查项:删除嵌入、读一遍页面、确认是否卡住、按核心或补充分别处理。这样每次外部内容不可用时,你都有确定的动作,而不是临时决定留空还是删除。