zoukankan      html  css  js  c++  java
  • 动态加载JS,并执行回调函数

    有些时候我们需要动态的加载一些JS,并在JS加载完成后执行一些回调函数。
    var loadscript = {
        $$: function (id) {
            return document.getElementById(id);
        },
        tag: function (element) {
            return document.getElementsByTagName(element);
        },
        ce: function (element) {
            return document.createElement(element);
        },
        js: function (url, callback) {
            var s = loadscript.ce('script');
            s.type = "text/javascript";
            s.src = url;
            if (document.documentMode == 10 || document.documentMode == 9) {
                s.onerror = s.onload = loaded;
            } else {
                s.onreadystatechange = ready;
                s.onerror = s.onload = loaded;
            }
            loadscript.tag('head')[0].appendChild(s);
    
            function ready() { /*IE7.0/IE10.0*/
                if (s.readyState == 'loaded' || s.readyState == 'complete') {
                    callback();
                }
            }
            function loaded() { /*chrome/IE10.0*/
                callback();
            }
        }
    };
    
    
    //加载百度的uaredirect.js,回调执行uaredirect函数
    
    loadscript.js("http://siteapp.baidu.com/static/webappservice/uaredirect.js", function() {
        uaredirect("https://m.baidu.com/");
    });
    
    参考网址:
    http://www.cnblogs.com/jyk/archive/2013/05/14/3078024.html
    http://www.cnblogs.com/w-y-f/p/3469211.html
    http://www.xiariboke.com/design/2857.html
    
  • 相关阅读:
    四十八.监控概述 、 Zabbix基础 、 Zabbix监控服务
    123D
    bzoj3879
    bzoj1699
    LA6878
    uoj#149
    687C
    codeforces round #424 div2
    803E
    713C
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294610.html
Copyright © 2011-2022 走看看