執行透過 .innerHTML 插入的內聯腳本
問:如何使用 .innerHTML 屬性執行插入到元素中的腳本?
A:要執行透過.innerHTML 插入的腳本,請依照下列步驟操作步驟:
- 建立新函數:定義一個名為setInnerHTML 的函數,函數接受兩個參數:HTML 元素(elm) 和要插入的HTML 內容(html)。
- 插入HTML:設定元素的innerHTML為指定的HTML
- 擷取腳本元素:擷取所有<script> 的陣列修改後的HTML內容中的元素。 </script>
-
迭代腳本:循環遍歷<script>;元素並為每個腳本執行以下步驟:</script>
- 建立一個新的<script> </script>
- 從原始<script> 複製屬性</script>
- 建立一個文字節點,其中包含原始<script>的innerHTML元素並將其附加到新的 script 元素。 </script>
- 取代原來的 <script> 元素DOM 中的元素與新元素。 </script>
- 範例:增強函數以包含其用法範例:
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); }
用法:要使用該功能,只需提供HTML 元素以及包含腳本的HTML 內容。腳本將在插入 DOM 後自動執行。
該技術繞過了直接分配給 innerHTML 的限制,並允許成功執行動態插入的內聯腳本。以上是如何執行透過.innerHTML新增的內嵌腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

利用輕鬆的網頁佈局:8 ESTISSEL插件jQuery大大簡化了網頁佈局。 本文重點介紹了簡化該過程的八個功能強大的JQuery插件,對於手動網站創建特別有用

因此,在這裡,您準備好了解所有稱為Ajax的東西。但是,到底是什麼? AJAX一詞是指用於創建動態,交互式Web內容的一系列寬鬆的技術。 Ajax一詞,最初由Jesse J創造

10款趣味橫生的jQuery遊戲插件,讓您的網站更具吸引力,提升用戶粘性!雖然Flash仍然是開發休閒網頁遊戲的最佳軟件,但jQuery也能創造出令人驚喜的效果,雖然無法與純動作Flash遊戲媲美,但在某些情況下,您也能在瀏覽器中獲得意想不到的樂趣。 jQuery井字棋遊戲 遊戲編程的“Hello world”,現在有了jQuery版本。 源碼 jQuery瘋狂填詞遊戲 這是一個填空遊戲,由於不知道單詞的上下文,可能會產生一些古怪的結果。 源碼 jQuery掃雷遊戲

本教程演示瞭如何使用jQuery創建迷人的視差背景效果。 我們將構建一個帶有分層圖像的標題橫幅,從而創造出令人驚嘆的視覺深度。 更新的插件可與JQuery 1.6.4及更高版本一起使用。 下載

本教程演示了創建通過Ajax加載的動態頁面框,從而可以即時刷新,而無需全頁重新加載。 它利用jQuery和JavaScript。將其視為自定義的Facebook式內容框加載程序。 關鍵概念:Ajax和JQuery

此JavaScript庫利用窗口。名稱屬性可以管理會話數據,而無需依賴cookie。 它為瀏覽器中存儲和檢索會話變量提供了強大的解決方案。 庫提供了三種核心方法:會話


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境