|
<script language='Javascript' type='text/Javascript' src='?.js'></script>
2、body.onload事件之后加載文件(這里我稱之為動態(tài)加載文件)的時候,瀏覽器會先查找緩存文件,如果緩存文件不存在才會向服務(wù)器發(fā)出http請求;所以本人提倡動態(tài)加載文件,而在body.onload事件之前的靜態(tài)加載文件應(yīng)該做到精短。
3、本系統(tǒng)程序按照功能模塊劃分為單個文件,在/source/js/system.js中實現(xiàn)運行時按需下載,而不是恐怖的一次性下載所有腳本程序代碼,減少網(wǎng)絡(luò)帶寬的占用。
4、為了讓js代碼跨網(wǎng)站調(diào)用時不會出現(xiàn)編碼問題,程序中所有漢字用函數(shù)escape編碼,如果只是單網(wǎng)站使用,您可以把編碼改回漢字。
5、所有函數(shù)或類注明為“本網(wǎng)站自用”的,很可能與本網(wǎng)站后臺自定義的數(shù)據(jù)類型有關(guān),您可以將它刪除。
下面是/js/Load.js程序以及的注釋說明:
復(fù)制代碼 代碼如下:
var IsBody={};
//定義動態(tài)加載js程序文件的代碼
eval("IsBody.AppendJs="+(IsBody.AppendJsCode="function(){var A=(typeof(arguments[0])=='string'?arguments:arguments[0]);for(var i=A.length-1;i>=0;i--){var J=document.createElement('script');J.language='Javascript';J.type='text/Javascript';J.src=A[i];document.getElementsByTagName('head')[0].appendChild(J);}};"));
//測試document.body是否已經(jīng)加載
IsBody.Try=function()
{
if(document.body&&((this.IsIE=(document.readyState!=null))?document.readyState.toLowerCase()=='complete':true))
{ //document.body加載后判斷瀏覽器是IE還是FoxFire,本程序目前支持這兩種瀏覽器
clearTimeout(this.Interval);
if(typeof(LoadCssFile)!='undefined')
{ //動態(tài)加載css文件,目的也是減少服務(wù)器的http請求(注意這里L(fēng)oadCssFile是個數(shù)組)
var C=LoadCssFile,j=C.length,i=1;
while(i<j)
{
var J=document.createElement('link');J.rel='stylesheet';J.type='text/css';J.href=C[i++];document.getElementsByTagName('head')[0].appendChild(J);
}
}
//動態(tài)加載圖片,目的也是減少服務(wù)器的http請求
if(typeof(LoadImage)!='undefined') this.AppendJs('/source/js/LoadImage.js');
//動態(tài)加載程序主體系統(tǒng)
this.AppendJs('/source/js/System.js');
}
};
IsBody.Interval=setInterval('IsBody.Try();',100);
JavaScript技術(shù):javascript引導(dǎo)程序,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。