執行使用innerHTML插入的腳本
使用innerHTML將腳本插入網頁可能是一個挑戰,因為腳本可能出現在DOM中,但執行失敗。這是由於瀏覽器在動態新增至頁面時處理腳本執行的方式不同。
為了克服這個問題,一種方法涉及遞歸搜尋 DOM 中的腳本元素並將其替換為可執行複製。以下是遞歸腳本替換函數的逐步說明:
function nodeScriptReplace(node) {
function nodeScriptClone(node) {
function nodeScriptIs(node) {
用法範例:
執行插入的腳本使用innerHTML,在文件主體(或任何其他所需容器)上呼叫nodeScriptReplace()函數。
nodeScriptReplace(document.getElementsByTagName("body")[0]);
透過利用這種遞歸方法,搜尋過程中遇到的所有腳本元素都將被替換為可執行克隆,確保使用innerHTML插入時正確執行腳本。
以上是為什麼使用innerHTML插入的腳本總是不執行,我該如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!