使用innerHTML將腳本插入
範例程式碼中提供的 HTML 示範了在
為了解決這個問題,我們提出了一種方法,以遞歸方式將所有不可執行的腳本替換為可執行腳本。此方法稱為 nodeScriptReplace,遍歷 DOM 樹並識別腳本元素。如果遇到不可執行的腳本,它會複製該腳本,為其指派可執行內容,並取代原始腳本元素,使其能夠執行。
此外,nodeScriptClone 函數透過擷取來建立可執行腳本元素不可執行腳本的innerHTML 並設定其屬性。這些屬性將轉移到新的可執行腳本,確保正確的行為。
nodeScriptIs 函數透過檢查給定節點的標籤名稱來檢查其是否為腳本元素。
執行腳本並顯示「hi」警報,只需在頁面的根元素上呼叫 nodeScriptReplace 即可。下面的程式碼片段示範了這一點:
nodeScriptReplace(document.getElementsByTagName("body")[0]);
此方法提供了一種強大的機制,用於執行使用innerHTML 添加到頁面的腳本,確保其預期功能。
以上是為什麼透過innerHTML新增的腳本總是不執行,我該如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!