



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态加载js.txt等余震的心情,就像初恋的少女等情人,既怕他不来,又怕他乱来。 听说女人如衣服,兄弟如手足,回想起来,我竟然七手八脚地裸奔了二十多年!今天心情不好,我只有四句话想说,包括这句和前面的两句,我的话说完了!几种动态加载JS脚本的方法 已有 277 次阅读 2010-03-12 08:36 标签: 加载 脚本 动态 能实现动态加载javascript脚本的方法有好些,主要介绍几种: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 );如果用jquery来加载实现,代码非常简洁:function loadJs(file) var head = $(head).remove(#loadScript); $(“”+”).attr(src:file,type:text/javascript,id:load).appendTo(head);够简单把!如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民航空中安全保卫专业教学标准(高等职业教育专科)2025修订
- 2024-2025学年河北省保定市六校联盟高二下学期期中地理试题及答案
- 2025年中国可调节人体工学办公椅行业市场全景分析及前景机遇研判报告
- 2025年中国绝缘材料行业市场全景分析及前景机遇研判报告
- 2025年中国家用塔式风扇行业市场全景分析及前景机遇研判报告
- 中国起重运输设备行业市场发展现状及前景趋势与投资分析研究报告(2024-2030)
- 中国计算机整机行业市场调研及未来发展趋势预测报告
- 中国多柱式散热器行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2025年中国纸张防伪行业市场运行现状及未来发展预测报告
- 方形蚊帐项目投资可行性研究分析报告(2024-2030版)
- 2025春季学期国开电大本科《管理英语3》一平台机考真题及答案(第十套)
- 湖南省2025年高考公安院校公安专业考生档案审核表
- 2024-2025学年八年级下册道德与法治期末测试模拟卷(统编版)(含答案)
- 2025年四川省宜宾五粮液集团进出口有限公司招聘笔试参考题库附带答案详解
- 2025年社区工作者考试题目及答案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2023年贵州贵州贵安发展集团有限公司招聘笔试真题
- 光伏运维技能大赛考试题库及答案
- 李辛演讲-现代人的压力与管理
- 2024年山东铁投集团招聘笔试参考题库含答案解析
- 消防栓封条规范模板
评论
0/150
提交评论