动态加载js

更多内容: http://blog.yuhai.win

参考地址:
1、http://www.jb51.net/article/48697.htm
2

jquery 动态加载js

1、使用jquery方法 getScript
    jQuery.getScript("js/20160831.js")
     .done(function() {
         test(); //test 方法在 js/20160831.js 中定义
      /* 耶,没有问题,这里可以干点什么 */
     })
     .fail(function() {
      /* 靠,马上执行挽救操作 */
    });
2、动态生成
    loadjs("js/20160831.js");
    test();
    //方法二
    function loadjs(file){ 

         var head = $('head').remove('#loadscript');
         console.log(head);
        $("<script>"+"</scr"+"ipt>")
        .attr({src:file,type:'text/javascript',id:'load'})
        .appendTo(head);
    }


3、zepto动态加载js
$(function(){
        $.getScript("js/20160831.js",function(){
            test();
        });
    });

    (function() {

        /**

          * 动态加载js文件

          * @param  {string}   url      js文件的url地址

          * @param  {Function} callback 加载完成后的回调函数

          */

         var _getScript = function(url, callback) {

             var head = document.getElementsByTagName('head')[0],

                 js = document.createElement('script');



             js.setAttribute('type', 'text/javascript'); 

             js.setAttribute('src', url); 



             head.appendChild(js);



             //执行回调

             var callbackFn = function(){

                    if(typeof callback === 'function'){

                        callback();

                     }

                };


             if (document.all) { //IE

                js.onreadystatechange = function() {

                    if (js.readyState == 'loaded' || js.readyState == 'complete') {

                        callbackFn();

                   }

                 }

             } else {

                 js.onload = function() {

                    callbackFn();

                 }

             }

         }



         //如果使用的是zepto,就添加扩展函数

         if(typeof(Zepto) != 'undefined'){

             $.getScript = _getScript;

         }



     })();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值