Chargement asynchrone de les scripts peuvent entraîner des problèmes lors de la tentative de modification d'un document à l'aide de document.write(). Après l'exécution du chargement de la page, un script est téléchargé de manière asynchrone mais échoue avec le message de la console "Il n'est pas possible d'écrire dans un document à partir d'un script externe chargé de manière asynchrone à moins qu'il ne soit explicitement ouvert."
Les scripts chargés de manière asynchrone s'exécutent une fois le document analysé et fermé. Par conséquent, les opérations telles que document.write() deviennent indisponibles à partir de ces scripts.
Pour résoudre ce problème, remplacez les appels document.write() par des manipulations explicites du DOM. Cela implique de créer des éléments DOM et de les insérer dans l'élément parent à l'aide de appendChild(), insertBefore() ou de définir innerHTML.
Script original (en ligne, avec document. write() :
<code class="html"><div id="container"> <script> document.write('<span style="color:red;">Hello</span>'); </script> </div></code>
Script modifié (chargé de manière asynchrone, avec manipulation DOM) :
<code class="javascript">var container = document.getElementById("container"); var content = document.createElement("span"); content.style.color = "red"; content.innerHTML = "Hello"; container.appendChild(content);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!