欢迎来到天天文库
浏览记录
ID:9365531
大小:33.00 KB
页数:5页
时间:2018-04-29
《用javascript动态加载不同cssjs文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DynamicLoad.js文件代码如下:functionDynamicLoad(){//属性varSelf=this; //对象自身//功能:加载指定的文件//参数:src——需要被加载的文件//返回:(无)this.Load=function(src){if(Self.IsLoaded(src)) //判断该文件是否已经加载了{ Self.OnLoaded(src); return;}else //如果没有加载,动态创建{ varobjDynamic; //动态创建的对象 vartype=Self.GetSrcType(src
2、);//文件类型 if(type=="js"
3、
4、type=="vbs") { objDynamic=document.createElement("script"); objDynamic.src=src; if(type=="js") { objDynamic.type="text/javascript"; objDynamic.language="javascript"; } else { objDynamic.type="text/vbscript"; objDynamic.language="vbsc
5、ript"; } } elseif(type=="css") { objDynamic=document.createElement("link"); objDynamic.rel="stylesheet"; objDynamic.type="text/css"; objDynamic.href=src; } else { Self.OnFailed(src); return; } document.getElementsByTagName("head")[0].appendChild(objDynamic);//将创建
6、的对象插入到HEAD节中 objDynamic.onload=objDynamic.onreadystatechange=function() //加载过程中状态改变引发的事件 { //在此函数中this指针指的是s结点对象,而不是JsLoader实例, //所以必须用self来调用onsuccess事件,下同。 if(this.readyState&&this.readyState=="loading") return; else Self.OnLoaded(src); }; objDynamic.onerror=
7、function() //加载过程中发生错误引发的事件 { document.getElementsByTagName("head")[0].removeChild(objDynamic); Self.OnFailed(src); };}};//功能:判断是否已经加载了某文件//参数:src——需要被检查的文件//返回:返回是否已经加载了该文件this.IsLoaded=function(src){varisLoaded=false; //假设没有加载vartype=Self.GetSrcType(src);//得到文件的类型va
8、ri; //用于循环的索引if(type=="js"
9、
10、type=="vbs"){ varscripts=document.getElementsByTagName("script");//得到所有的脚本对象集合 for(i=0;i11、12、scripts[i].readyStat13、e=="complete") { isLoaded=true; break; } } }}elseif(type=="css"){ varlinks=document.getElementsByTagName("link");//得到所有的link对象集合 for(i=0;i14、oaded
11、
12、scripts[i].readyStat
13、e=="complete") { isLoaded=true; break; } } }}elseif(type=="css"){ varlinks=document.getElementsByTagName("link");//得到所有的link对象集合 for(i=0;i14、oaded
14、oaded
此文档下载收益归作者所有