目錄:DynamicLoad類簡介、屬性、方法、事件、樣本、下載。
DynamicLoad類簡介
本文將為您介紹一個在javascript中可以動態載入js、vbs指令碼和css樣式表的DynamicLoad類DynamicLoad,載入原理分為3步:(1)使用document.createElement建立一個指令碼或者樣式表對象(以下稱對象o);(2)設定對象o的屬性;(3)將對象添加到document中去。使用DynamicLoad類,您可以方便的判斷是否已經載入了指令碼,動態載入指令碼等操作。
DynamicLoad類中的屬性
Self——對象自身(該屬性為設計時使用,程式中請盡量避免使用該屬性。)
DynamicLoad類中的方法
Load(src)——載入指定的檔案。如果載入成功,引發OnLoaded事件;如果載入失敗,引發OnFailed事件。您可以通過重載回呼函數LoadedCallback和FailedCallback來執行載入對應的操作。
IsLoaded(src)——判斷指定的檔案是否已經載入完畢。
GetSrcType(src)——得到檔案類型(即副檔名)
LoadedCallback(src)——檔案載入成功後執行的回呼函數。請重載該方法,以處理負載檔案成功之後的操作。
FailedCallback(src)——檔案載入失敗後執行的回呼函數。請重載該方法,以處理負載檔案失敗之後的操作。
DynamicLoad類中的事件
OnLoaded(src)——檔案載入成功事件。
OnFailed(src)——檔案載入失敗事件。
樣本:
下面的樣本示範了如何判斷檔案是否已經被載入,以及如何動態負載檔案。
<html>
<body>
<script language="javascript" type="text/javascript" src="DynamicLoad.js"></script>
<script language="javascript" type="text/javascript">
<!--
var dl=new DynamicLoad(); //初始化DynamicLoad對象
alert(dl.IsLoaded("DynamicLoad.js")); //判斷是否已經載入了檔案DynamicLoad.js
dl.Load("HttpCookie.js"); //載入HttpCookie.js
alert(dl.IsLoaded("HttpCookie.js")); //判斷是否已經載入了檔案HttpCookie.js。載入需要時間,一般情況下這裡返回false;如果過一小段時間再判斷,很可能返回true。
//-->
</script>
</body>
</html>
下載:
下載DunamicLoad
致謝:
本文參考了以下文章,感謝其作者的辛勤勞動。
《動態載入js檔案的一個類》 水木無痕 http://hi.baidu.com/smvv21/blog/item/50156c0ef644bdcb7bcbe195.html
《動態載入外部css或js檔案》 ddcat http://homepage.yesky.com/45/7728545.shtml
《JavaScript使用物件導向的技術建立進階 Web 應用程式》 Ray Djajadinata http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx
謝謝您看完本文,希望對您有所協助。