亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

動態加載js的方法匯總

2019-11-20 13:09:47
字體:
來源:轉載
供稿:網友

本文實例匯總了動態加載js的方法。分享給大家供大家參考。具體如下:

方法一:直接document.write(異步)

復制代碼 代碼如下:
<script language="javascript">  
    document.write("<script src='res/extwidget/echarts/xx.js'><//script>");
</script>

由于這種方式是異步加載,document.write會重寫界面,明顯不實用
方法二:動態改變已有script的src屬性(異步)

復制代碼 代碼如下:
<script src='' id="xx"></script>  
<script language="javascript">  
    xx.src="test.js"  
</script>

此種方法不會改變界面元素,不重寫界面元素,但同樣是異步加載
方法三:動態創建script元素(異步)

復制代碼 代碼如下:
<script>
    var body= document.getElementsByTagName('BODY').[0];  
    var script= document.createElement("script");  
    script.type = "text/javascript";  
    script.src="xx.js";  
    body.appendChild( oScript);  
</script>

此辦法的優勢相對于第二種而言就是不需要最開始就在界面寫一個script標簽,缺點還是異步加載

方法四:XMLHttpRequest/ActiveXObject加載(異步)

復制代碼 代碼如下:
/**
* 異步加載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); 
}

open里面設置為false就是同步加載了,同步加載不需要設置onreadystatechange事件

這四種方法都是異步執行的,也就是說,在加載這些腳本的同時,主頁面的腳本繼續運行。

方法五:XMLHttpRequest/ActiveXObject加載(同步)

復制代碼 代碼如下:
/**
* 同步加載js腳本
* @param id   需要設置的<script>標簽的id
* @param url   js文件的相對路徑或絕對路徑
* @return {Boolean}   返回是否加載成功,true代表成功,false代表失敗
*/ 
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); 
  //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); 
   return true; 
      }else{ 
   return false; 
      } 
  }else{ 
      return false; 
  } 
}

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩美女毛茸茸| 国产精品丝袜视频| 日本国产欧美一区二区三区| 欧美裸身视频免费观看| 日韩精品欧美激情| 欧美日本在线视频中文字字幕| 色哟哟亚洲精品一区二区| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲毛茸茸少妇高潮呻吟| 欧美性生交大片免网| 欧美国产日韩一区二区三区| 国模私拍一区二区三区| 88xx成人精品| 久久精品视频导航| 国产在线观看一区二区三区| 7m精品福利视频导航| 久久综合亚洲社区| 亚洲精美色品网站| 日韩视频一区在线| 亚洲sss综合天堂久久| 久久精品中文字幕免费mv| 日韩一区二区三区xxxx| 精品人伦一区二区三区蜜桃网站| 91国产精品91| 国产美女高潮久久白浆| 国产拍精品一二三| 国产精品久久久久久久7电影| 国产精品久久久久久久久久久久久久| 中文字幕亚洲欧美| 久久久99久久精品女同性| 欧美成人h版在线观看| 欧美日韩中文字幕综合视频| 在线看福利67194| 一级做a爰片久久毛片美女图片| 国产日韩在线看| 欧美性生交xxxxxdddd| 国内精品国产三级国产在线专| 国产精品av免费在线观看| 8090成年在线看片午夜| 最近2019年手机中文字幕| 日日骚久久av| 欧美夫妻性视频| 亚洲国产精品久久精品怡红院| 亚洲肉体裸体xxxx137| 国产最新精品视频| 亚洲国产精品人久久电影| 成人网在线免费看| 亚洲精品国产综合区久久久久久久| 日韩精品免费观看| 亚洲视频精品在线| 成人精品视频久久久久| 国产精品久久久久久久电影| 日韩国产高清污视频在线观看| 成人国产在线视频| 这里只有精品久久| 中文字幕不卡av| 国产精品高潮呻吟久久av野狼| 日韩欧美在线观看视频| 国产精品极品尤物在线观看| 亚洲精品一区二区在线| 97色在线观看| 欧美最近摘花xxxx摘花| 97久久精品在线| 日韩免费av片在线观看| 午夜美女久久久久爽久久| 日本精品视频在线观看| 日韩av电影手机在线| 日韩毛片在线观看| 亚洲视频电影图片偷拍一区| 亚洲丁香婷深爱综合| 欧美精品一区二区免费| 国产日韩中文在线| 欧美成人免费播放| 国产精品国产三级国产aⅴ9色| 黑丝美女久久久| 久久在精品线影院精品国产| 黑人与娇小精品av专区| 精品中文字幕久久久久久| 日韩av中文字幕在线播放| 色偷偷综合社区| 亚洲另类激情图| 亚洲a一级视频| 日韩电视剧免费观看网站| 欧美成人午夜影院| 精品无人区乱码1区2区3区在线| 中文字幕日韩在线播放| 高清日韩电视剧大全免费播放在线观看| 亚洲精品不卡在线| 欧美尤物巨大精品爽| 中文字幕日韩精品在线| 久久久亚洲国产| 日韩av在线网| 精品久久久久久久久中文字幕| 国产精品久久91| 久久五月天色综合| 欧美激情极品视频| 成人免费视频97| 久久天堂av综合合色| 永久免费毛片在线播放不卡| 久久久久久一区二区三区| 欧美日韩综合视频网址| 亚洲一区二区三区xxx视频| 亚洲精品理论电影| 亚州精品天堂中文字幕| 亚洲三级av在线| 一区二区三区在线播放欧美| 国产91九色视频| 不卡在线观看电视剧完整版| 日韩视频免费中文字幕| 久久夜色精品国产欧美乱| 欧美激情视频三区| 欧美成aaa人片在线观看蜜臀| 91久久精品在线| 欧美午夜精品久久久久久人妖| 一本色道久久综合狠狠躁篇的优点| 久久综合免费视频影院| 一区二区欧美久久| 91av网站在线播放| 精品久久久久久久久久久| 日韩精品在线免费播放| 欧美激情亚洲另类| 国产精品久久久久国产a级| 欧美午夜性色大片在线观看| 国产自产女人91一区在线观看| 2020国产精品视频| 91人成网站www| 久久最新资源网| 国产不卡av在线免费观看| 亚洲精品第一国产综合精品| 久国内精品在线| 欧美日韩中文字幕综合视频| 2019中文字幕在线免费观看| 91社区国产高清| 欧美极品少妇全裸体| 亚洲自拍小视频| 久久精品影视伊人网| 国产视频在线一区二区| 精品一区二区三区四区在线| 91免费电影网站| 久久国产色av| 9.1国产丝袜在线观看| 日韩美女在线观看一区| 九九热精品视频在线播放| 国产精品自产拍在线观看| 亚洲精品日韩久久久| 亚洲第一网中文字幕| 国产精品欧美激情| 国产一区二区丝袜高跟鞋图片| 国产精品igao视频| 91精品国产高清| 亚洲一区二区三区sesese| 亚洲午夜久久久影院| 久久久久久久网站| 91久久久亚洲精品| 国产日韩欧美在线观看| 精品国产91久久久| 国产成人aa精品一区在线播放| 欧美人与性动交| 欧美激情a∨在线视频播放| 国产男女猛烈无遮挡91| 国产精品69久久| 亚洲人成电影网| 亚洲日本aⅴ片在线观看香蕉| 欧美在线www|