Fehler beim Schreiben des Dokuments nach asynchronem Skriptladen
Beim asynchronen Laden eines Skripts wird das geladene Skript ausgeführt, nachdem das Dokument vollständig analysiert wurde und geschlossen. Diese Einschränkung verhindert die Verwendung von document.write() innerhalb des geladenen Skripts.
Fehlerursache
Die Fehlermeldung „Schreiben ist nicht möglich in ein Dokument aus einem asynchron geladenen externen Skript“ zeigt an, dass der Versuch, mit document.write() in das Dokument zu schreiben, fehlgeschlagen ist, weil das Skript geladen wurde, nachdem das Dokument geschlossen wurde.
Alternative DOM-Manipulation
Um dieses Problem zu beheben, müssen Sie alle document.write()-Anweisungen durch explizite DOM-Manipulation ersetzen. Dazu gehört das Erstellen von DOM-Elementen und deren Einfügen in ein übergeordnetes Element mit Methoden wie:
Beispiel
Anstatt beispielsweise document.write() in einem Inline-Skript wie folgt zu verwenden:
<code class="html"><div id="container"> <script> document.write('<span style="color:red;">Hello</span>'); </script> </div></code>
Sie würden das verwenden Folgender Code in einem dynamisch geladenen Skript:
<code class="javascript">var container = document.getElementById("container"); var content = document.createElement("span"); content.style.color = "red"; content.innerHTML = "Hello"; container.appendChild(content);</code>
Alternativ können Sie das innereHTML des Containers festlegen:
<code class="javascript">var container = document.getElementById("container"); container.innerHTML = '<span style="color:red;">Hello</span>';</code>
Indem Sie document.write()-Anweisungen durch diese alternative DOM-Manipulation ersetzen Mit diesen Techniken können Sie die erfolgreiche Ausführung Ihrer asynchron geladenen Skripte sicherstellen und gleichzeitig die gewünschten Dokumentänderungen erzielen.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit einem Fehler bei der Dokumentschreibausführung nach dem Laden asynchroner Skripte um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!