使用js加載器動態加載外部js、css文件


let MiniSite = new Object();
/**
 * 判斷瀏覽器
 */
MiniSite.Browser = {
    ie: /msie/.test(window.navigator.userAgent.toLowerCase()),
    moz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
    opera: /opera/.test(window.navigator.userAgent.toLowerCase()),
    safari: /safari/.test(window.navigator.userAgent.toLowerCase())
};
/**
 * 加載外部的文件
 * @param sUrl 要加載的文件的url地址
 * @param fileType 要加載的文件的類型
 * @fCallback 文件加載完成之后的處理函數
 */
MiniSite.JsLoader = function(sUrl, fileType, fCallback) {
    let fileHref;
    if (fileType == "js") {
        fileHref = document.createElement('script');
        fileHref.setAttribute("type", "text/javascript");
        fileHref.setAttribute("src", sUrl);
    } else if (fileType == "css") {
        fileHref = document.createElement('link');
        fileHref.setAttribute("rel", "stylesheet");
        fileHref.setAttribute("type", "text/css");
        fileHref.setAttribute("href", sUrl);
    }
    if (fileHref !== undefined) {
        document.getElementsByTagName("head")[0].appendChild(fileHref);
        if (MiniSite.Browser.ie) {
            fileHref.onreadystatechange = function() {
                if (this.readyState == 'loaded' || this.readyState == 'complete') {
                    if (fCallback != undefined) {
                        fCallback();
                    }
                }
            };
        } else {
            fileHref.onload = function() {
                if (fCallback != undefined) {
                    fCallback();
                }
            };
        }
    }
};

//動態加載 CSS 文件
MiniSite.JsLoader("/static/css/all.css", "css");
MiniSite.JsLoader("/static/css/base.css", "css");
MiniSite.JsLoader("/static/css/style.css", "css");
//動態加載 JS 文件
MiniSite.JsLoader("https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js", "js", function() {
    MiniSite.JsLoader("https://cdn.jsdelivr.net/npm/vue", "js");
    MiniSite.JsLoader("/static/js/bootstrap.min.js", "js");
    MiniSite.JsLoader("/static/js/bootstrap-table.min.js", "js", function() {
        MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-table/1.12.1/locale/bootstrap-table-zh-CN.min.js", "js");
        MiniSite.JsLoader("/static/js/tableExport.min.js", "js");
        MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-table/1.12.1/extensions/export/bootstrap-table-export.min.js", "js");
    });
    MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js", "js");
    MiniSite.JsLoader("/static/js/common.js", "js");
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM