麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > JS > 正文

使javascript也能包含文件

2024-09-06 12:44:41
字體:
供稿:網(wǎng)友

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

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

代碼如下: 
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);
 }
}


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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品亚洲欧美日韩精品中文字幕 | 久久成人免费网 | 夜间福利网站 | 91九色免费视频 | 国产人成精品一区二区三 | 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 久久国产精品久久久久 | 中文字幕综合 | 精品一区二区中文字幕 | 欧美不卡| 色播久久 | 欧美成人精品不卡视频在线观看 | 91精品国产91久久久久久吃药 | 日韩毛片免费观看 | 黄色大片网站在线观看 | 激情九九 | 激情大乳女做爰办公室韩国 | 成人不卡一区二区 | 精品成人久久久 | 亚洲日韩中文字幕一区 | 久草视频国产在线 | 成年人视频在线免费观看 | 久久亚洲春色中文字幕久久 | 欧美成人精品一区二区男人小说 | 天天干导航 | 欧美性生交xxxxx久久久 | 国产一区日韩一区 | 久久成人精品视频 | 国产精品1区2区 | 天堂成人国产精品一区 | 精品中文视频 | 精品久久久久久 | 日本一级黄色大片 | 久久69精品久久久久久国产越南 | 国产一区二区不卡视频 | 小情侣嗯啊哦视频www | 精品爱爱| 免费h片网站 | 婷婷久久综合九色综合色多多蜜臀 | 小视频免费在线观看 | 亚洲成人福利在线 |