



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DynamicLoad.js文件代码如下:function DynamicLoad()/属性var Self=this; /对象自身/功能:加载指定的文件/参数:src需要被加载的文件/返回:(无)this.Load=function(src)if(Self.IsLoaded(src) /判断该文件是否已经加载了 Self.OnLoaded(src); return;else /如果没有加载,动态创建 var objDynamic; /动态创建的对象 var type=Self.GetSrcType(src); /文件类型 if(type=js | 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=vbscript; else if(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); /将创建的对象插入到HEAD节中 objDynamic.onload=objDynamic.onreadystatechange=function() /加载过程中状态改变引发的事件 /在此函数中this指针指的是s结点对象,而不是JsLoader实例, /所以必须用self来调用onsuccess事件,下同。 if(this.readyState & this.readyState=loading) return; else Self.OnLoaded(src); ; objDynamic.onerror=function() /加载过程中发生错误引发的事件 document.getElementsByTagName(head)0.removeChild(objDynamic); Self.OnFailed(src); ;/功能:判断是否已经加载了某文件/参数:src需要被检查的文件/返回:返回是否已经加载了该文件this.IsLoaded=function(src)var isLoaded=false; /假设没有加载var type=Self.GetSrcType(src); /得到文件的类型var i; /用于循环的索引if(type=js | type=vbs) var scripts=document.getElementsByTagName(script); /得到所有的脚本对象集合 for(i=0;iscripts.length;i+) /依次判断每个script对象 if(scriptsi.src & scriptsi.src.indexOf(src)!=-1) if(scriptsi.readyState=loaded | scriptsi.readyState=complete) isLoaded=true; break; else if(type=css) var links=document.getElementsByTagName(link); /得到所有的link对象集合 for(i=0;ilinks.length;i+) /依次判断每个link对象 if(linksi.href & linksi.href.indexOf(src)!=-1) if(linksi.readyState=loaded | linksi.readyState=complete | linksi.readyState=interactive) isLoaded=true; break; return isLoaded;/功能:得到文件的类型(即扩展名)/参数:src文件名/返回:返回文件的类型this.GetSrcType=function(src)var type=;var lastIndex=src.lastIndexOf(.);if(lastIndex!=-1) type=src.substr(lastIndex+1);return type;/功能:当文件加载完成时发生的事件/参数:src加载完成的文件/返回:(无)this.OnLoaded=function(src)Self.LoadedCallback(src);/功能:文件加载完成时执行的回调函数/参数:src加载完的文件/返回:(无)this.LoadedCallback=function(src);/功能:当文件加载过程中发生错误时发生的事件/参数:src正在加载的文件/返回:(无)this.OnFailed=function(src)Self.FailedCallback(src);/功能:当文件加载失败时执行的回调函数/参数:src加载失败的文件/返回:(无)this.FailedCallback=function(src);页面代码:var dl=new DynamicLoad();function test1()dl.Load(css.css); function test2()dl.Load(Admin_style.css); aaa注释:js文件方法本文件包含了一个名为DynamicLoad的类,该类可以为页面动态加载js、vbs和css文件。属性: Self对象自身(该属性为设计时使用,程序中请尽量避免使用该属性。)方法: Load(src)加载指定的文件。如果加载成功,引发OnLoaded事件;如果加载失败,引发OnFailed事件。您可以通过重载回调函数LoadedCallback和FailedCallback来执行加载对应的操作。IsLoaded(src)判断指定的文件是否已经加载完毕。GetSrcType(src)得到文件类型(即扩展名)LoadedCallback(src)文件加载成功后执行的回调函数。请重载该方法,以处理加载文件成功之后的操作。FailedCallback(src)文件加载失败后执行的回调函数。请重载该方法,以处理加载文件失败之后的操作。事件: OnLoaded(src)文件加载成功事件。OnFailed(src)文件加载失败事件。/*/var dl=new DynamicLoad(); /初始化DynamicLoad对象alert(dl.IsLoaded(DynamicLoad.js); /判断是否已经加载了文件Dyna
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西南宁上林县白圩镇中心卫生院招聘村卫生室公共卫生服务协助人员5人考前自测高频考点模拟试题及答案详解(网校专用)
- 班组安全培训教育
- 2025内蒙古工业大学招聘20名博士学位事业编制工作人员模拟试卷及答案详解(考点梳理)
- 2025北京大兴区妇幼保健院临时辅助用工招录岗位12人模拟试卷及答案详解(有一套)
- 2025广东省高校毕业生三支一扶计划招募3000人模拟试卷附答案详解(典型题)
- 2025年春季中国邮政储蓄银行合肥市分行校园招聘模拟试卷(含答案详解)
- 2025辽宁沈阳地铁集团有限公司所属公司拟聘用人员考前自测高频考点模拟试题有完整答案详解
- 非晶硅薄膜制备-洞察与解读
- 2025湖南省中南林业科技大学第一批招聘21人模拟试卷(含答案详解)
- 2025年四川天府银行社会招聘模拟试卷及完整答案详解一套
- 2025年产业政策调整下人工智能在医疗行业的应用可行性研究报告
- 建筑装修工程质量监督管理制度
- 不锈钢栏杆施工全流程方案
- 2025住院医师规范化培训院内师资培训考核测试题附答案
- 《一定要争气》(第2课时) 课件 小学语文部编版三年级上册
- 血透室护士手卫生
- USP232-233标准文本及中英文对照
- 部编版八上语文名著《红岩》问答题精练(教师版)
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 2025年秋期人教版2年级上册数学核心素养教案(校园小导游)(教学反思有内容+二次备课版)
- 全科医学健康教育
评论
0/150
提交评论