js动态引入的四种方法


Posted in Javascript onMay 05, 2018

本文表述了关于js动态引入四种方式的实例代码。分享给大家供大家参考,具体如下:

index.html

<html> 
 <head> 
 <meta content="text/html;charset=utf-8" http-equiv="content-type"> 
 <title> </title> 
 <script src='' id="s1"></script> 
 <script src="dynamic.js"></script> 
 </head> 
 <body> 
 </body> 
</html>

test.js

alert("hello! I am test.js"); 
var str="1";

dynamic.js

//第一种方式:直接document.write 但这样会把当前的页面全覆写掉 
//document.write("<script src='test.js'><\/script>"); 
 
//第二种方式:动态改变已有script的src属性 
//s1.src="test.js" 
 
//第三种方式:动态创建script元素 
/* var oHead = document.getElementsByTagName('HEAD').item(0); 
 var oScript= document.createElement("script"); 
 oScript.type = "text/javascript"; 
 oScript.src="test.js"; 
 oHead.appendChild(oScript); 
*/ 
//其实原理就是利用dom动态的引入一个js到文件中来~就能和原有的js通信了~ 
//alert(str); 
 
/*以上三种方式都采用异步加载机制,也就是加载过程中,页面会往下走, 
如果这样的话会有问题的,如上面的str就访问不到,因为当程序执行alert(str)时,test.js还在加载Ing.... 
那么第四种就是基于ajax请求的,且是推荐
*/ 
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) 
 { 
 includeJS( sId, url, oXmlHttp.responseText ); 
 } 
 } 
 oXmlHttp.open('GET', url, false);//同步操作 
 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.type = "text/javascript"; 
 oScript.id = sId; 
 oScript.text = source; 
 oHead.appendChild( oScript ); 
 } 
} 
ajaxPage( "scrA", "test.js" ); 
alert( "主页面动态加载JS脚本。"); 
alert( "主页面动态加载a.js并取其中的变量:" + str );

上文所表述的全部内容是js动态引入,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
js获取上传文件大小示例代码
Apr 10 Javascript
判断输入的字符串是否是日期格式的简单方法
Jul 11 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
Vue 框架之动态绑定 css 样式实例分析
Nov 14 Javascript
Angular6项目打包优化的实现方法
Dec 15 Javascript
js实现列表向上无限滚动
Jan 13 Javascript
关于HTML5的data-*自定义属性的总结
May 05 #Javascript
深入浅析Vue.js计算属性和侦听器
May 05 #Javascript
详解js跨域请求的两种方式,支持post请求
May 05 #Javascript
vue 注册组件的使用详解
May 05 #Javascript
Vue三层嵌套路由的示例代码
May 05 #Javascript
动态加载JavaScript文件的3种方式
May 05 #Javascript
Node.js的Koa实现JWT用户认证方法
May 05 #Javascript
You might like
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
jquery选择器使用详解
2014/04/08 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
Python 多线程抓取图片效率对比
2016/02/27 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
汉语言文学职业规划
2014/02/14 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
保护环境倡议书100字
2014/05/19 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
伏羲庙导游词
2015/02/09 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python