首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>编程相关>JAVASCRIPT>javascript利用xhtml来实现动态导入javascript文件和css样式文件
javascript利用xhtml来实现动态导入javascript文件和css样式文件
来源: 发布时间:2008-03-09 发布人: 浏览: 人次   字体: [ ]  
javascript功能强大,但一个问题是它不能包含其它的js文件,而其它非脚本语言却基本都是有这个功能的,不得不觉得有点遗憾。穷则思变,越来越发现不动态导入文件会严重加大加载页面的时间,经过实验,发现了一个办法,利用xhtml来实现这个功能,下面的函数就可以动态导入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); 
}

 对于样式文件,默认导入后是立即生效的,这有可能会导致和前面一种选定样式效果重叠,造成混乱。所以可以使用下面的函数来实现样式的切换功能:

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文件是需要从远程加载的,所以有人可能会问在调用$import()函数后,是立即执行$import()后面的语句,还是等加载完以后再执行其后的语句。粗略试验了一下,发现是等加载完后再执行后面的语句的,而且如果加载的js里有立即执行的代码,那么它会先于$import()后面的语句执行。这也是我们想要的结果,因为这样就可以在$import()之后调用加载的文件里的函数了。

相 关 文 章   发布商链接
·JS遍历所有以TextBox_开头匹配的文本...
·Javascript实现打印网页中定义的部分...
·javascript实现在IE中图片的拖拽
·JavaScript实现刷新框架子页面的方法
·教您如何使用Lightbox效果?
·javascript实现firefox和IE都支持的...
·JavaScript中使用DOM编程技术动态控...
·javascript网页对话框参数详解
·javascipt实现金额大小写的转换
·实例分析JavaScript中substr和substr...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·javscript实现鼠标移到小图片
·如何在静态页面中利用javascr...
·javascript实现WEB页面导出为...
·如何在兼容IE和Firefox的情况
·javascript读取本地excel文档
·javascript实现页面自动刷新...
·javascript解决iframe框架页...
·javascript实现网易邮箱多附...
·javascript实现模仿IE自动完...
·javacript实现关闭子窗口,刷...
·javascript脚本实现右键弹出...
·javascript结合Ajax制作的可...
·javascript实现页面载入等待...
·javascript实现一个IP只弹窗...
·javascript导航条比较实用的...
热 门 文 章
·Ext2.0框架的Grid使用介绍祥...
·JS实现多行的HTML静态表格分...
·javascript实现多张图片轮流...
·javascript使用xml数据岛的简...
·Adobe Reader利用javascript...
·javascript读写TEXT文本文件...
·幻灯片焦点图片新闻显示调用f...
·实例讲解Ext Js生成动态树,...
·javascript实现页面载入等待...
·javascript实现动态多附件上...
·Javascript在IE和FireFox中的...
·javascript解析身份证号码得...
·javascript脚本实现右键弹出...
·javascript实现的网页软键盘...
·js操作innerHTML 引起的未知...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .