国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

動態載入js提高網頁打開速度的方法

2019-11-20 14:22:39
字體:
來源:轉載
供稿:網友

一般來說如果一次性的載入所有需要的JavaScript代碼,就會造成初始網頁打開速度變慢,但是很多載入的代碼又并不需要使用,這種無謂的性能浪費應該予以避免。如果要動態載入JavaScript代碼,可以利用DOM模型在HTML文檔中添加<script>結點,并將此結點的src屬性(即 外聯 Javascript文件)設置為需要動態載入的JavaScript代碼。

下面就是完成這樣功能的一個示例:

(1)、新建JsLoaderTest.html文件

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>按需載入JavaScript代碼的例子</title> <script type="text/javascript">   function JsLoader(){   this.load=function(url){       //獲取所有的<script>標記       var ss=document.getElementsByTagName("script");       //判斷指定的文件是否已經包含,如果已包含則觸發onsuccess事件并返回       for (i=0;i<ss.length;i++){         if (ss[i].src && ss[i].src.indexOf(url)!=-1){           this.onsuccess();           return;         }       }       //創建script結點,并將其屬性設為外聯JavaScript文件       s=document.createElement("script");       s.type="text/javascript";       s.src=url;       //獲取head結點,并將<script>插入到其中       var head=document.getElementsByTagName("head")[0];       head.appendChild(s);       //獲取自身的引用       var self=this;       //對于IE瀏覽器,使用readystatechange事件判斷是否載入成功       //對于其他瀏覽器,使用onload事件判斷載入是否成功       //s.onload=s.onreadystatechange=function(){       s.onload=s.onreadystatechange=function(){         //在此函數中this指針指的是s結點對象,而不是JsLoader實例,         //所以必須用self來調用onsuccess事件,下同。         if (this.readyState && this.readyState=="loading") return;         self.onsuccess();       }       s.onerror=function(){         head.removeChild(s);         self.onfailure();       }     };     //定義載入成功事件     this.onsuccess=function(){};     //定義失敗事件     this.onfailure=function(){};   }   function btnClick(){       //創建對象     var jsLoader=new JsLoader();     //定義載入成功處理程序     jsLoader.onsuccess=function(){        sayHello();     }     //定義載入失敗處理程序     jsLoader.onfailure=function(){        alert("文件載入失敗!");     }     //開始載入     jsLoader.load("hello.js");   } </script> </head> <body> <label> <input type="submit" name="Submit" onClick="javascript:btnClick()" value="載入JavaScript文件"> </label> </body> </html> 

(2)、新建hello.js文件,包含如下代碼:

// JavaScript Document function sayHello(){   alert("Hello World!成功載入JavaScript文件");   } // JavaScript Documentfunction sayHello(){  alert("Hello World!成功載入JavaScript文件");  }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏附县| 承德县| 甘南县| 昌图县| 连城县| 泰来县| 夏津县| 万山特区| 牡丹江市| 陇西县| 西城区| 武威市| 个旧市| 岳池县| 南安市| 南城县| 巴林右旗| 东光县| 株洲市| 肇源县| 清徐县| 元阳县| 磐安县| 阿克| 上虞市| 通渭县| 卢龙县| 郓城县| 巴塘县| 五家渠市| 清流县| 辽阳市| 弋阳县| 徐州市| 潢川县| 西青区| 张家口市| 华蓥市| 昆山市| 兴海县| 襄垣县|