使用 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() 的调用,或发出有关这些调用的控制台警告,具体取决于用户的连接速度。无论哪种方式,受影响的调用都会显示在开发者工具控制台中。如需了解详情,请参阅 Google 的干预 document.write() 一文。

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

避免使用 document.write()

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

如果第三方代码使用的是 document.write(),请让提供程序支持异步加载。

资源