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一章節。
相關文章
- 頁面動態加入<script>標籤並執行程式碼行程
- javascript動態建立並執行css程式碼例項JavaScriptCSS
- JavaScript 動態建立style標籤JavaScript
- JavaScript <script>標籤JavaScript
- JS 之 script標籤JS
- javascript動態建立table表格並新增資料程式碼JavaScript
- script標籤
- 類script標籤,非同步載入,順序執行非同步
- 動態建立script引入js檔案導致亂碼現象JS
- js——<script>標籤的載入順序JS
- javascript動態建立元素程式碼例項JavaScript
- javascript動態建立table表格程式碼示例JavaScript
- javascript動態建立指定行與列table表格程式碼例項JavaScript
- JavaScript動態建立div並寫入文字JavaScript
- JavaScript動態建立div並新增樣式JavaScript
- 熟悉的< script >標籤
- 淺談script標籤
- Java知識點總結(動態執行JS程式碼 )JavaJS
- JS中動態新增元素並繫結事件,造成程式重複執行JS事件
- js動態建立文字框程式碼例項JS
- js動態建立div再新增文字程式碼JS
- js動態建立HTML元素程式碼例項JSHTML
- javascript球形標籤雲程式碼例項JavaScript
- PB程式碼動態解析執行器
- js動態建立元素,並控制元素樣式JS
- vue 動態建立元件(執行時建立元件)Vue元件
- JavaScript 3D球形標籤雲程式碼JavaScript3D
- javascript使用標籤包裹字串程式碼例項JavaScript字串
- JavaScript系列:動態建立iframe並載入頁面JavaScript
- Script標籤的async和defer
- HTML中的script標籤研究HTML
- sqlplus動態生成linux shell指令碼並執行SQLLinux指令碼
- script標籤中的async和defer
- script標籤到底該放在哪裡
- script標籤的crossorigin屬性ROS
- JavaScript動態建立表格和增加表格的行JavaScript
- 靜態程式碼塊類載入時並不會執行
- javascript快速入門6--Script標籤與訪問HTML頁面JavaScriptHTML