實現js檔案動態載入的幾種方式簡單介紹
本章節簡單介紹一下動態載入js檔案的幾種方式,需要的朋友可以做一下參考。
一.document.write()方式:
[HTML] 純文字檢視 複製程式碼<script language="javascript"> document.write("<script src='antzone.js'><\/script>"); </script>
二.動態改變已有script的src屬性:
[HTML] 純文字檢視 複製程式碼<script src='' id="antzone"></script> <script> antzone.src="softwhy.js" </script> </head>
三.動態建立script元素:
[JavaScript] 純文字檢視 複製程式碼var body=document.getElementsByTagName('BODY')[0]; var script=document.createElement("script"); script.type="text/javascript"; script.src="antzone.js"; body.appendChild(oScript);
四.XMLHttpRequest/ActiveXObject載入:
[JavaScript] 純文字檢視 複製程式碼/** * 非同步載入js指令碼 * @param id 需要設定的<script>標籤的id * @param url js檔案的相對路徑或絕對路徑 */ loadJs:function(id,url){ var xmlHttp = null; if(window.ActiveXObject){//IE try { //IE6以及以後版本中可以使用 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { //IE5.5以及以後版本可以使用 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } else if(window.XMLHttpRequest){ //Firefox,Opera 8.0+,Safari,Chrome xmlHttp = new XMLHttpRequest(); } //採用同步載入 xmlHttp.open("GET",url,false); //傳送同步請求, //如果瀏覽器為Chrome或Opera,必須釋出後才能執行,不然會報錯 xmlHttp.send(null); xmlHttp.onreadystatechange = function(){ //4代表資料傳送完畢 if( xmlHttp.readyState == 4 ){ //0為訪問的本地,200到300代表訪問伺服器成功, //304代表沒做修改訪問的是快取 if((xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==0||xmlHttp.status==304){ var myBody = document.getElementsByTagName("BODY")[0]; var myScript = document.createElement( "script" ); myScript.language = "javascript"; myScript.type = "text/javascript"; myScript.id = id; try{ //IE8以及以下不支援這種方式,需要通過text屬性來設定 myScript.appendChild(document.createTextNode(xmlHttp.responseText)); } catch (ex){ myScript.text = xmlHttp.responseText; } myBody.appendChild(myScript); } } } //採用非同步載入 xmlHttp.open("GET",url,true); xmlHttp.send(null); }
相關文章
- js實現的動態載入css檔案簡單介紹JSCSS
- 動態載入js檔案簡單介紹JS
- js動態載入js檔案簡單介紹JS
- jQuery動態載入js檔案簡單介紹jQueryJS
- 按照順序動態載入js檔案簡單介紹JS
- js宣告陣列的幾種方式簡單介紹JS陣列
- AngularJs動態載入模組和依賴注入簡單介紹AngularJS依賴注入
- 實現登入態的幾種方式
- 分散式鎖簡單入門以及三種實現方式介紹分散式
- 簡單介紹redis加鎖常用幾種方式Redis
- 簡單介紹mysql中資料庫覆蓋匯入的幾種方式MySql資料庫
- 設定按鈕失效的幾種方式簡單介紹
- 網頁中使用css的幾種方式簡單介紹網頁CSS
- Node.js的模組載入方式與機制簡單介紹Node.js
- 實現js檔案動態載入程式碼例項JS
- jquery實現的圖片預載入簡單介紹jQuery
- css引入外部css檔案的方式簡單介紹CSS
- jQuery實現的非同步動態載入css和js檔案jQuery非同步CSSJS
- js下載檔案的實現方式JS
- js動態載入 js檔案和 css檔案JSCSS
- 如何動態載入js檔案JS
- javascript實現繼承方式簡單介紹JavaScript繼承
- JavaScript~檔案下載的幾種方式JavaScript
- Java檔案下載的幾種方式Java
- Java檔案下載 幾種方式Java
- 原生js實現的動態載入css和js檔案程式碼例項JSCSS
- 簡單介紹ASP.NET Core實現檔案上傳和下載ASP.NET
- 簡單實現Crystal Report的動態載入 (轉)
- jquery如何實現動態載入CSS檔案jQueryCSS
- javascript如何動態載入js檔案JavaScriptJS
- jQuery實現的動態載入css和js檔案程式碼例項 [jQueryCSSJS
- 檔案管理簡單介紹
- js實現繼承的幾種方式JS繼承
- js清除閉包的通常方式簡單介紹JS
- js中關於定義類的幾種方式介紹JS
- Nginx中常見的幾種負載均衡方式介紹!Linux入門必看Nginx負載Linux
- 將按鈕設定為不可用幾種方式簡單介紹
- nodejs通過phantomjs實現下載網頁簡單介紹NodeJS網頁