免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
要实现动态加载JS脚本有4种方法:1、直接document.write document.write(); 2、动态改变已有script的src属性 s1.src=test.js 3、动态创建script元素 var oHead = document.getElementsByTagName(HEAD).item(0); var oScript= document.createElement(script); oScript.type = text/javascript; oScript.src=test.js; oHead.appendChild( oScript); 这三种方法都是异步执行的,也就是说,在加载这些脚本的同时,主页面的脚本继续运行,如果用以上的方法,那下面的代码将得不到预期的效果。要动态加载的JS脚本:a.js,以下是该文件的内容。var str = 中国; alert( 这是a.js中的变量: + str ); 主页面代码: function LoadJS( id, fileUrl ) var scriptTag = document.getElementById( id ); var oHead = document.getElementsByTagName(HEAD).item(0); var oScript= document.createElement(script); if ( scriptTag ) oHead.removeChild( scriptTag ); oScript.id = id; oScript.type = text/javascript; oScript.src=fileUrl ; oHead.appendChild( oScript); LoadJS( a.js ); alert( 主页面动态加载a.js并取其中的变量: + str ); 上述代码执行后 a.js 的 alert 执行并弹出消息,但是 主页面产生了错误,没有弹出对话框。原因是 str 未定义,为什么呢?因为主页面在取 str 的时候 a.js 并没有完全加载成功。遇到需要同步执行脚本的时候,可以用下面的第四种方法。4、原理:用XMLHTTP取得要脚本的内容,再创建 Script 对象。注意:a.js必须用UTF8编码保存,要不会出错。因为服务器与XML使用UTF8编码传送数据。主页面代码: function GetHttpRequest() if ( window.XMLHttpRequest ) / Gecko return new XMLHttpRequest() ; else if ( window.ActiveXObject ) / IE return new ActiveXObject(MsXml2.XmlHttp) ; function AjaxPage(sId, url) var oXmlHttp = GetHttpRequest() ; oXmlHttp.OnReadyStateChange = function() if ( oXmlHttp.readyState = 4 ) if ( oXmlHttp.status = 200 | oXmlHttp.status = 304 ) IncludeJS( sId, url, oXmlHttp.responseText ); else alert( XML request error: + oXmlHttp.statusText + ( + oXmlHttp.status + ) ) ; oXmlHttp.open(GET, url, true); oXmlHttp.send(null); function IncludeJS(sId, fileUrl, source) if ( ( source != null ) & ( !document.getElementById( sId ) ) ) var oHead = document.getElementsByTagName(HEAD).item(0); var oScript = document.createElement( script ); oScript.language = javascript; oScript.type = text/javascript; oScript.id = sId; oScript.defer = true; oScript.text = source; oHead.appendChild( oScript ); AjaxPage( scrA, b.js ); alert( 主页面动态加载JS脚本。); alert( 主页面动态加载a.js并取其中的变量: + str ); 现在完成了一个JS脚本的动态加载。var Rash=true; var msg=; function norash() if (confirm(确定要取消吗) Rash=false; function rashit() setInterval(getrss(),Inttime); function getrss() if (Rash=true) head=document.getElementsByTagName(head).item(0); script=document.createElement(script); script.src=INCLUDE/AutoUpdate.asp; script.type=text/javascript; script.defer=true; voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑人牙膏策划书
- 学术型硕士研究生培养方案
- 文学院届毕业论文选题指南
- 硕士论文导师学术评语
- 浅谈幼儿园大班食育实践与探索
- 对早产儿母乳喂养率、新鲜母乳质量改善效果的研究
- 试论证券市场的有效性
- 大学生毕业论文范文参考XXX
- 企业流程管理论文六
- 偏光片线状缺陷的改善方法专项技术研究
- 国家开放大学《管理英语4》期末机考题库
- 消防安全责任人的职责试题及答案
- 2025北京九年级(上)期末语文汇编:作文
- 道路施工材料采购保障措施
- 铁路劳动安全培训:预防触电
- 网络剧联合投资合同协议书范本
- 签约中心管理制度
- 道教正一考试试题及答案
- 沪教版(新教材)三年级上册英语Unit-7What-do-we-know-about全单元课件
- 土地复垦方案编制实务(上册)
- 顺丰快递求职简历
评论
0/150
提交评论