Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menyelesaikan Ralat \"Tidak Mungkin Menulis ke dalam Dokumen daripada Skrip Luaran yang Dimuatkan Secara Asynchronously\"?

Bagaimana untuk Menyelesaikan Ralat \"Tidak Mungkin Menulis ke dalam Dokumen daripada Skrip Luaran yang Dimuatkan Secara Asynchronously\"?

Barbara Streisand
Barbara Streisandasal
2024-10-20 14:07:02940semak imbas

How to Resolve

Ralat: "Tidak Mungkin Menulis ke dalam Dokumen daripada Skrip Luaran yang Dimuatkan Secara Tak Segerak"

Masalah:

Pemuatan tak segerak bagi skrip boleh membawa kepada isu apabila cuba mengubah suai dokumen menggunakan document.write(). Selepas pelaksanaan pemuatan halaman, skrip dimuat turun secara tidak segerak tetapi gagal dengan mesej konsol "Tidak mungkin untuk menulis ke dalam dokumen daripada skrip luaran yang dimuatkan secara tidak segerak melainkan ia dibuka secara eksplisit."

Penjelasan:

Skrip yang dimuatkan secara tidak segerak dilaksanakan selepas dokumen dihuraikan dan ditutup. Akibatnya, operasi seperti document.write() menjadi tidak tersedia dari dalam skrip ini.

Penyelesaian:

Untuk menyelesaikan isu ini, gantikan panggilan document.write() dengan manipulasi DOM yang jelas. Ini melibatkan mencipta elemen DOM dan memasukkannya ke dalam elemen induk menggunakan appendChild(), insertBefore(), atau menetapkan innerHTML.

Contoh:

Skrip Asal (Sebaris, dengan dokumen. write()):

<code class="html"><div id="container">
<script>
document.write('<span style="color:red;">Hello</span>');
</script>
</div></code>

Skrip Diubah Suai (Dimuatkan Secara Asynchronous, dengan Manipulasi 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>

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"Tidak Mungkin Menulis ke dalam Dokumen daripada Skrip Luaran yang Dimuatkan Secara Asynchronously\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn