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 相关文章推荐
利用jQuery操作对象数组的实现代码
Apr 27 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
AngularJS中的Directive实现延迟加载
Jan 25 Javascript
Node.js 8 中的重要新特性
Jun 28 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
小程序图片长按识别功能的实现方法
Aug 30 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
php查询内存信息操作示例
2019/05/09 PHP
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
JS实现页面打印(整体、局部)
2017/08/18 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
期终自我鉴定
2014/02/17 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
反邪教警示教育方案
2014/05/13 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
2015入党自传书范文
2015/06/26 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书