欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使javascript也能包含文件

 更新時間:2006年10月26日 00:00:00   作者:  

javascript功能強大,但一個問題是它不能包含其它的js文件,而其它非腳本語言卻基本都是有這個功能的,不得不覺得有點遺憾。窮則思變,越來越發(fā)現(xiàn)不動態(tài)導(dǎo)入文件會嚴(yán)重加大加載頁面的時間,經(jīng)過實驗,發(fā)現(xiàn)了一個辦法,利用xhtml來實現(xiàn)這個功能,下面的函數(shù)就可以動態(tài)導(dǎo)入javascript文件和css樣式文件: 

復(fù)制代碼 代碼如下:

function $import(path,type,title){
 var s,i;
 if(type=="js"){
  var ss=document.getElementsByTagName("script");
  for(i=0;i<ss.length;i++){
   if(ss[i].src && ss[i].src.indexOf(path)!=-1)return;
  }
  s=document.createElement("script");
  s.type="text/javascript";
  s.src=path;
 }else if(type=="css"){
  var ls=document.getElementsByTagName("link");
  for(i=0;i<ls.length;i++){
   if(ls[i].href && ls[i].href.indexOf(path)!=-1)return;
  }
  s=document.createElement("link");
  s.rel="alternate stylesheet";
  s.type="text/css";
  s.href=path;
  s.title=title;
  s.disabled=false;
 }
 else return;
 var head=document.getElementsByTagName("head")[0];
 head.appendChild(s);
}

對于樣式文件,默認(rèn)導(dǎo)入后是立即生效的,這有可能會導(dǎo)致和前面一種選定樣式效果重疊,造成混亂。所以在我的blog中是使用下面的函數(shù)來實現(xiàn)樣式的切換功能: 

復(fù)制代碼 代碼如下:
 
function setStyle(title) {
 var i, links,eflag=false;
 links = document.getElementsByTagName("link");
 for(i=0; links[i]; i++) {
  if(links[i].getAttribute("rel").indexOf("style") != -1 && links[i].getAttribute("title")) {
   links[i].disabled = true;
   if(links[i].getAttribute("title").indexOf(title) != -1){links[i].disabled = false;eflag=true;}
  }
 }
 if(!eflag){
  $import("skin/"+title+"/default.css","css",title);
  setStyle(title);
 }
}


最后,說明一下,因為javascript文件是需要從遠(yuǎn)程加載的,所以有人可能會問在調(diào)用$import()函數(shù)后,是立即執(zhí)行$import()后面的語句,還是等加載完以后再執(zhí)行其后的語句。我粗略試驗了一下,發(fā)現(xiàn)是等加載完后再執(zhí)行后面的語句的,而且如果加載的js里有立即執(zhí)行的代碼,那么它會先于$import()后面的語句執(zhí)行。這也是我們想要的結(jié)果,因為這樣就可以在$import()之后調(diào)用加載的文件里的函數(shù)了。

相關(guān)文章

  • 原生js實現(xiàn)旋轉(zhuǎn)木馬效果

    原生js實現(xiàn)旋轉(zhuǎn)木馬效果

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)旋轉(zhuǎn)木馬效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 剖析CocosCreator新資源管理系統(tǒng)

    剖析CocosCreator新資源管理系統(tǒng)

    這篇文章主要介紹了CocosCreator新資源管理系統(tǒng),從v2.4開始,Creator使用AssetBundle完全重構(gòu)了資源底層,提供了更加靈活強大的資源管理方式,也解決了之前版本資源管理的痛點(資源依賴與引用),本文將帶你深入了解Creator的新資源底層。
    2021-04-04
  • js+css完成網(wǎng)站的會員照片信息顯示效果

    js+css完成網(wǎng)站的會員照片信息顯示效果

    js+css完成網(wǎng)站的經(jīng)典效果,一般用于會員排行榜中,會員信息的介紹,包括照片等。
    2010-06-06
  • ES6 系列之 WeakMap的使用示例

    ES6 系列之 WeakMap的使用示例

    這篇文章主要介紹了ES6 系列之 WeakMap的使用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解微信小程序官方人臉核身認(rèn)證

    詳解微信小程序官方人臉核身認(rèn)證

    本文主要介紹了微信小程序官方人臉核身認(rèn)證,感興趣的同學(xué),可以參考下,并且試驗一下。
    2021-06-06
  • js中arguments,caller,callee,apply的用法小結(jié)

    js中arguments,caller,callee,apply的用法小結(jié)

    本篇文章只要是對js中arguments,caller,callee,apply的用法進行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • JS 60秒后重新發(fā)送驗證碼的實例講解

    JS 60秒后重新發(fā)送驗證碼的實例講解

    下面小編就為大家?guī)硪黄狫S 60秒后重新發(fā)送驗證碼的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • ckeditor一鍵排版功能實現(xiàn)方法分析

    ckeditor一鍵排版功能實現(xiàn)方法分析

    這篇文章主要介紹了ckeditor一鍵排版功能實現(xiàn)方法,結(jié)合實例形式分析了ckeditor一鍵排版相關(guān)擴展插件定義、配置與使用方法,需要的朋友可以參考下
    2020-02-02
  • 本地存儲localStorage用法詳解

    本地存儲localStorage用法詳解

    這篇文章主要為大家詳細(xì)介紹了本地存儲localStorage的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 用file標(biāo)簽實現(xiàn)多圖文件上傳預(yù)覽

    用file標(biāo)簽實現(xiàn)多圖文件上傳預(yù)覽

    本文介紹了用file標(biāo)簽實現(xiàn)多圖文件上傳預(yù)覽的方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論