ホームページ > 記事 > ウェブフロントエンド > 「非同期で読み込まれた外部スクリプトからドキュメントに書き込むことはできません」エラーを解決するにはどうすればよいですか?
の非同期読み込みdocument.write() を使用してドキュメントを変更しようとすると、スクリプトによって問題が発生する可能性があります。ページ読み込みの実行後、スクリプトは非同期的にダウンロードされますが、「明示的に開かれない限り、非同期的に読み込まれた外部スクリプトからドキュメントに書き込むことはできません。」というコンソール メッセージが表示されて失敗します。
非同期的に読み込まれたスクリプトは、ドキュメントが解析されて閉じられた後に実行されます。その結果、これらのスクリプト内から document.write() などの操作が使用できなくなります。
この問題を解決するには、document.write() 呼び出しを明示的な DOM 操作に置き換えます。これには、DOM 要素を作成し、appendChild()、insertBefore()、または innerHTML を設定して親要素に挿入することが含まれます。
オリジナル スクリプト (インライン、ドキュメント付き。 write()):
<code class="html"><div id="container"> <script> document.write('<span style="color:red;">Hello</span>'); </script> </div></code>
変更されたスクリプト (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>
以上が「非同期で読み込まれた外部スクリプトからドキュメントに書き込むことはできません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。