使用 document.write()

使用 document.write() 可能会使网页内容的显示延迟数十秒,对于网速较慢的用户来说,这一点尤为重要。因此,在许多情况下,Chrome 会阻止执行 document.write(),这意味着您无法依赖它。

在 Chrome 开发者工具控制台中,使用 document.write() 时,您会看到以下消息:

[Violation] Avoid using document.write().

在 Firefox 开发者工具控制台中,您会看到以下消息:

An unbalanced tree was written using document.write() causing
data from the network to be reparsed.

Lighthouse document.write() 审核失败的原因

Lighthouse 会标记 Chrome 未屏蔽的对 document.write() 的调用:

显示 document.write 使用情况的 Lighthouse 审核

对于最有问题的用例,Chrome 会阻止对 document.write() 的调用,或发出有关这些调用的控制台警告,具体取决于用户的连接速度。无论是哪种方式,受影响的调用都会显示在 DevTools 控制台中。如需了解详情,请参阅 Google 的干预 document.write()一文。

Lighthouse 会报告对 document.write() 的所有剩余调用,因为无论使用方式如何,它都会对性能产生不利影响,而且有更好的替代方案。

避免使用 document.write()

从代码中移除对 document.write() 的所有使用。如果它用于注入第三方脚本,请改用异步加载

如果第三方代码使用 document.write(),请要求提供方支持异步加载。

资源