L'utilisation de document.write()
peut retarder l'affichage du contenu de la page de plusieurs dizaines de secondes et est particulièrement problématique pour les utilisateurs disposant d'une connexion lente.
Chrome bloque donc l'exécution de document.write()
dans de nombreux cas, ce qui signifie que vous ne pouvez pas vous y fier.
Dans la console Chrome DevTools, le message suivant s'affiche lorsque vous utilisez document.write()
:
[Violation] Avoid using document.write().
Dans la console DevTools de Firefox, le message suivant s'affiche:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
Échec de l'audit document.write()
Lighthouse
Lighthouse signale les appels à document.write()
qui n'ont pas été bloqués par Chrome:
Pour les utilisations les plus problématiques, Chrome bloque les appels à document.write()
ou émet un avertissement de console à leur sujet, en fonction de la vitesse de connexion de l'utilisateur.
Dans les deux cas, les appels concernés s'affichent dans la console DevTools.
Pour en savoir plus, consultez l'article Intervenir contre document.write()
de Google.
Lighthouse signale tous les appels restants à document.write()
, car ils ont un impact négatif sur les performances, quelle que soit leur utilisation, et il existe de meilleures alternatives.
Éviter la requête document.write()
Supprimez toutes les utilisations de document.write()
dans votre code. S'il est utilisé pour injecter des scripts tiers, essayez plutôt d'utiliser le chargement asynchrone.
Si le code tiers utilise document.write()
, demandez au fournisseur de prendre en charge le chargement asynchrone.