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 相关文章推荐
5款Javascript颜色选择器
Oct 25 Javascript
Javascript跨域请求的4种解决方式
Mar 17 Javascript
JS使用getComputedStyle()方法获取CSS属性值
Apr 23 Javascript
Jquery使用val方法读写value值
May 18 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
May 24 Javascript
jQuery EasyUI 入门必看
Jun 03 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
基于js判断浏览器是否支持webGL
Apr 18 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 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 编写的日历
2006/10/09 PHP
PHP语法速查表
2007/01/02 PHP
php curl选项列表(超详细)
2013/07/01 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中__call__内置函数用法实例
2015/06/04 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
keras 读取多标签图像数据方式
2020/06/12 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
简单说说tomcat的配置
2013/05/28 面试题
党校自我鉴定范文
2013/10/02 职场文书
机械工程师的岗位职责
2013/11/17 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
方法汇总:Python 安装第三方库常用
2022/04/26 Python