Melaksanakan Skrip Sebaris Disisipkan melalui .innerHTML
S: Bagaimanakah saya boleh melaksanakan skrip yang dimasukkan ke dalam elemen menggunakan sifat .innerHTML?
J: Untuk melaksanakan skrip yang dimasukkan melalui .innerHTML, ikuti ini langkah:
Lelaran Atas Skrip: Gelung melalui
function setInnerHTML(elm, html) { elm.innerHTML = html; Array.from(elm.querySelectorAll("script")) .forEach(oldScriptEl => { const newScriptEl = document.createElement("script"); Array.from(oldScriptEl.attributes).forEach(attr => { newScriptEl.setAttribute(attr.name, attr.value) }); const scriptText = document.createTextNode(oldScriptEl.innerHTML); newScriptEl.appendChild(scriptText); oldScriptEl.parentNode.replaceChild(newScriptEl, oldScriptEl); }); // Simplified for clarity (not part of the setInnerHTML function) const htmlWithScript = "<script type="text/javascript">alert('test');</script><strong>test</strong>"; setInnerHTML(document.querySelector('div'), htmlWithScript); }
Teknik ini memintas pengehadan penetapan langsung kepada innerHTML dan membolehkan pelaksanaan skrip sebaris yang berjaya dimasukkan secara dinamik.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Skrip Sebaris Ditambah melalui .innerHTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!