JavaScript動態建立script標籤並執行js程式碼
實際應用中,可能需要動態的建立一個script標籤,然後將js程式碼新增到標籤中,並執行。
下面就通過程式碼例項介紹一下如何實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> function loadScriptString(code){ var script=document.createElement("script"); script.type="text/javascript"; try{ //IE瀏覽器認為script是特殊元素,不能再訪問子節點;報錯; script.appendChild(document.createTextNode(code)); } catch(ex){ script.text=code; } document.getElementsByTagName('head')[0].appendChild(script); } window.onload=function(){ var obt=document.getElementById("bt"); var str="var odiv=document.getElementById('show');" str=str+"odiv.innerHTML='螞蟻部落歡迎您'" obt.onclick=function(){ loadScriptString(str); } } </script> </head> <body> <div id="show"></div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function loadScriptString(code){},引數是script標籤中的程式碼。
(2).var script=document.createElement("script"),建立一個script標籤元素。
(3).script.type="text/javascrip,設定標籤的type屬性。
(4).try{
script.appendChild(document.createTextNode(code));
},IE9以下瀏覽器認為script是特殊元素,不能再訪問子節點報錯。
(5).catch(ex){
script.text=code;
},IE9以下瀏覽器使用text屬性。
(6).document.getElementsByTagName('head')[0].appendChild(script),將script追加到head。
二.相關閱讀:
(1).document.createElement()參閱document.createElement()一章節。
(2).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(3).appendChild()參閱JavaScript appendChild()一章節。
(4).createTextNode()參閱document.createTextNode()一章節。
(5).try catch參閱JavaScript try catch一章節。
相關文章
- JavaScript <script>標籤JavaScript
- JS 之 script標籤JS
- 類script標籤,非同步載入,順序執行非同步
- 熟悉的< script >標籤
- 淺談script標籤
- Java知識點總結(動態執行JS程式碼 )JavaJS
- JavaScript動態建立div並寫入文字JavaScript
- JavaScript動態建立div並新增樣式JavaScript
- JS中動態新增元素並繫結事件,造成程式重複執行JS事件
- 動態執行c#程式碼C#
- js動態建立元素,並控制元素樣式JS
- Script標籤的async和defer
- JavaScript系列:動態建立iframe並載入頁面JavaScript
- IE報錯SCRIPT5011:不能執行已釋放Script的程式碼
- script標籤中的async和defer
- 【JavaScript】JS引擎中執行上下文如何順序執行程式碼JavaScriptJS行程
- JavaScript動態建立表格和增加表格的行JavaScript
- 靜態程式碼塊類載入時並不會執行
- C#呼叫IronPython動態執行Python程式碼C#Python
- 說一說 HTML 中的 script 標籤HTML
- JavaScript動態建立table表格JavaScript
- JavaScript的程式碼執行機制JavaScript
- spring+groovy實現動態程式碼注入執行Spring
- jQuery內部對<script>標籤的處理jQuery
- 在 PBootCMS 中,使用 {php} 和 {eval} 標籤可以在模板中執行 PHP 程式碼bootPHP
- 動態連結串列的建立(程式碼)
- js程式碼優化 提高執行效能JS優化
- script標籤的defer和async屬性詳解
- pbootcms常用標籤程式碼集合boot
- JavaScript 標籤語句JavaScript
- JS 移除 HTML 標籤JSHTML
- 瀏覽器執行javaScript程式碼基礎瀏覽器JavaScript
- 谷歌開發者工具執行JavaScript程式碼谷歌JavaScript
- 前端效能優化---將script標籤放在body之後前端優化
- playwright非同步操作-多標籤執行非同步
- 原生JS動態載入JS、CSS檔案及程式碼指令碼JSCSS指令碼
- 【ArcGIS For JS】前端geojson渲染行政區劃圖層並加標籤前端JSON
- JavaScript 模板字面量標籤JavaScript
- JavaScript 計算程式碼執行花費時間JavaScript