document.write(""); document.write("");
动态加载js脚本的4种方法

动态加载js脚本的4种方法

ID:18322966

大小:47.00 KB

页数:6页

时间:2018-09-16

动态加载js脚本的4种方法_第1页
动态加载js脚本的4种方法_第2页
动态加载js脚本的4种方法_第3页
动态加载js脚本的4种方法_第4页
动态加载js脚本的4种方法_第5页
资源描述:

《动态加载js脚本的4种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、要实现动态加载JS脚本有4种方法:1、直接document.writedocument.write("");2、动态改变已有script的src属性s1.src="test.js"3、动态创建script元素  这三种方法都是异步执行的,也就是说,在加载这些脚本的同时,主页面的脚本继续运行,如果用以上的方法,那下面的代码将得不到预期的效果。要动态加载的JS脚本:a.js,以下是该文件的内容。varstr="中国";alert("这是a.js中的变量:"+str);主页面代码:

3、riptlanguage="JavaScript">functionLoadJS(id,fileUrl){varscriptTag=document.getElementById(id);varoHead=document.getElementsByTagName('HEAD').item(0);varoScript=document.createElement("script");if(scriptTag)oHead.removeChild(scriptTag);oScript.id=id;oScript.type="text/javascript";oScript.

4、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编码传

5、送数据。主页面代码:functionGetHttpRequest(){if(window.XMLHttpRequest)//GeckoreturnnewXMLHttpRequest();elseif(window.ActiveXObject)//IEreturnnewActiveXObject("MsXml2.XmlHttp");}functionAjaxPage(sId,url){varoXmlHttp=GetHttpRequest();oXmlHttp.OnReadyStateChange=function(

6、){if(oXmlHttp.readyState==4){if(oXmlHttp.status==200

7、

8、oXmlHttp.status==304){IncludeJS(sId,url,oXmlHttp.responseText);}else{alert('XMLrequesterror:'+oXmlHttp.statusText+'('+oXmlHttp.status+')');}}}oXmlHttp.open('GET',url,true);oXmlHttp.send(null);}functionIncludeJS(sId,fileUrl,source){if(

9、(source!=null)&&(!document.getElementById(sId))){varoHead=document.getElementsByTagName('HEAD').item(0);varoScript=document.createElement("script");oScript.language="javascript";oScript.type="text/javascript";oScript.id=sId;oScript.defer=true;oScript.text=source;oHead.app

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。