js动态引入的四种方法

 更新时间:2018年05月05日 15:05:29   作者:最美远程  
下面小编就为大家带来一篇关于js动态引入四种方式的实例代码,具有很好的参考价值,分享给大家一起跟随小编过来看看吧

本文表述了关于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动态引入,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • js限制输入框只能输入数字(onkeyup触发)

    js限制输入框只能输入数字(onkeyup触发)

    这篇文章主要介绍了通过js实现input输入框只能输入数字的实现方法,主要是通过正则表达式替换实现,需要的朋友可以参考下
    2018-09-09
  • js函数和this用法实例分析

    js函数和this用法实例分析

    这篇文章主要介绍了js函数和this用法,结合实例形式分析了js函数和this基本功能、原理、使用方法与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • JS设置CSS样式的方式汇总

    JS设置CSS样式的方式汇总

    这篇文章给大家总结了JS设置CSS样式的几种方式,每种方式都非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-01-01
  • 微信小程序基于picker实现级联菜单

    微信小程序基于picker实现级联菜单

    这篇文章主要为大家详细介绍了微信小程序基于picker实现级联菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Bootstrap导航条鼠标悬停下拉菜单

    Bootstrap导航条鼠标悬停下拉菜单

    这篇文章主要为大家详细介绍了Bootstrap导航条鼠标悬停下拉菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 全面解析Bootstrap布局组件应用

    全面解析Bootstrap布局组件应用

    这篇文章主要为大家全面解析Bootstrap布局组件应用,几乎对所有Bootstrap布局组件示例进行了解析,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 微信小程序入口场景的问题集合与相关解决方法

    微信小程序入口场景的问题集合与相关解决方法

    这篇文章主要介绍了微信小程序入口场景的问题集合与相关解决方法,从零开始开发一个小程序,大多数坑点都是在微信小程序的各个入口场景处。所以这里整理一下微信小程序的各个入口场景会面临的问题以及解决方案,需要的朋友可以参考下
    2019-06-06
  • 微信小程序使用image组件显示图片的方法【附源码下载】

    微信小程序使用image组件显示图片的方法【附源码下载】

    这篇文章主要介绍了微信小程序使用image组件显示图片的方法,结合实例形式简单分析了微信小程序附image组件的相关使用技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2017-12-12
  • Javascript 多物体运动的实现

    Javascript 多物体运动的实现

    这篇文章主要介绍了Javascript 多物体运动的实现,需要的朋友可以参考下
    2014-12-12
  • 浅谈webpack对样式的处理

    浅谈webpack对样式的处理

    这篇文章主要介绍了浅谈webpack对样式的处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论