Melaksanakan Skrip yang Disisipkan dengan innerHTML
Memasukkan skrip ke dalam halaman web menggunakan innerHTML boleh menjadi satu cabaran, kerana skrip mungkin muncul dalam DOM tetapi gagal dilaksanakan. Ini disebabkan oleh cara penyemak imbas yang berbeza mengendalikan pelaksanaan skrip apabila ia ditambahkan secara dinamik pada halaman.
Untuk mengatasinya, satu kaedah melibatkan pencarian secara rekursif DOM untuk elemen skrip dan menggantikannya dengan klon boleh laku. Berikut ialah penjelasan langkah demi langkah bagi fungsi penggantian skrip rekursif:
function nodeScriptReplace(node) {
function nodeScriptClone(node) {
function nodeScriptIs(node) {
Contoh Penggunaan:
Untuk melaksanakan skrip yang dimasukkan dengan innerHTML, panggil fungsi nodeScriptReplace() pada badan dokumen (atau mana-mana bekas lain yang dikehendaki).
nodeScriptReplace(document.getElementsByTagName("body")[0]);
Dengan menggunakan pendekatan rekursif ini, semua elemen skrip yang ditemui semasa proses carian akan menjadi digantikan dengan klon boleh laku, memastikan pelaksanaan skrip yang betul apabila disisipkan dengan innerHTML.
Atas ialah kandungan terperinci Mengapa Skrip Tidak Disisipkan dengan innerHTML Sentiasa Laksanakan dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!