• 技术文章 >web前端 >js教程

    动态引入js四种方法总结

    php中世界最好的语言php中世界最好的语言2018-05-12 14:16:10原创697
    这次给大家带来动态引入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 );

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    Vue数据响应式原理分析

    React Form组件封装步骤详解

    以上就是动态引入js四种方法总结的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 总结 方法
    上一篇:js三种调用方式优缺点总结 下一篇:H5的data-*自定义属性使用详解
    Web大前端开发直播班

    相关文章推荐

    • JavaScript经典基础详解之函数• 聊聊V8的内存管理与垃圾回收算法• 你能搞懂JS的this指向问题吗?看看这篇文章• 值得了解的几个实用JavaScript优化小技巧• 浅析Angular中怎么用 Api 代理

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网