Usar document.write()
puede retrasar la visualización del contenido de la página decenas de segundos y es particularmente problemático para los usuarios con conexiones lentas.
Por lo tanto, Chrome bloquea la ejecución de document.write()
en muchos casos, lo que significa que no puedes confiar en él.
En la consola de las Herramientas para desarrolladores de Chrome, verás el siguiente mensaje cuando uses document.write()
:
[Violation] Avoid using document.write().
En la consola de las Herramientas para desarrolladores de Firefox, verás este mensaje:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
Cómo falla la auditoría de document.write()
de Lighthouse
Lighthouse marca las llamadas a document.write()
que no fueron bloqueadas por Chrome:
![Auditoría de Lighthouse que muestra el uso de document.write](https://developer.chrome.com/static/docs/lighthouse/best-practices/no-document-write/image/lighthouse-audit-showing-909671e5aff87.png?authuser=7&hl=es)
En los usos más problemáticos,
Chrome bloqueará las llamadas a document.write()
o emitirá una advertencia de la consola sobre ellas, según la velocidad de conexión del usuario.
De cualquier manera, las llamadas afectadas aparecerán en la consola de Herramientas para desarrolladores.
Consulta el artículo Cómo intervenir en document.write()
de Google para obtener más información.
Lighthouse informa las llamadas restantes a document.write()
porque afecta de forma negativa el rendimiento sin importar cómo se use, y existen mejores alternativas.
Evita document.write()
Quita todos los usos de document.write()
del código. Si se usa para insertar secuencias de comandos de terceros, intenta usar la carga asíncrona en su lugar.
Si el código de terceros usa document.write()
, pídele al proveedor que admita la carga asíncrona.