tom
2023-12-06 9e968679ed2e6937aeb7b50a6c450d5d19251f42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
var pageUrl = window.top.config.url_page_cssjs;
var jscss_version = window.top.config.jscssversion;//.js/.css文件的版本号,去除前端缓存的一种机制
 
function initJsCss(win, pageurls, callback) {
    //公共引用的js/css
    var urls = [
        {id: "js_01", type: "js", url: "root/js/jquery-3.5.1.min.js"},
        {id: "js_0", type: "js", url: "root/jsnew/foundation.js"},
        {id: "js_1", type: "js", url: "root/js/vue/vue.js"},
        {id: "js_2", type: "js", url: "root/js/vue/axios/dist/axios.min.js"},
        // {id: "js_3", type: "js", url: "root/js/jquery-3.5.1.min.js"},
        
        {id: "css6", type: "css", url: "root/jsnew/vue/element-ui/element-ui_15/theme-chalk/index.css"},
        // {id: "css6", type: "css", url: "root/js/vue/element-ui/lib/theme-chalk/index.css"},
        // {id: "css2", type: "css", url: "root/css/frame.css"},
        {id: "css3", type: "css", url: "root/css/icon/iconfont.css"},
        {id: "css5", type: "css", url: "root/jsnew/myelement.css"},
        {id: "css4", type: "css", url: "root/jsnew/page.css"},
        {id: "css5", type: "css", url: "root/jsnew/theme.css"},
        
        {id: "js0", type: "js", url: "root/jsnew/vue/element-ui/element-ui_15/index.js"},
        // {id: "js0", type: "js", url: "root/js/vue/element-ui/lib/index.js"},
        // {id: "js2", type: "js", url: "root/js/foundation.js"},
        {id: "js5", type: "js", url: "root/jsnew/myelement.js"},
        // {id: "js3", type: "js", url: "root/js_new/vue/page.js"}, 2023-9-28
        // {id: "js3", type: "js", url: "http://jemin.highdatas.com/js_new/vue/page.js"},
        {id: "js4", type: "js", url: "root/js/common.js"},
        {id: "js5", type: "js", url: "root/jsnew/Sortable.js"},
        // {id: "js6", type: "js", url: "root/js/vuedraggable.umd.min.js"},
    ];
    /* 
     var urls = [
         {id: "js_01", type: "js", url: "root/js/jquery-3.5.1.min.js"},
         {id: "js_0", type: "js", url: "root/js/foundation.js"},
         {id: "js_1", type: "js", url: "root/js/vue/vue.js"},
         {id: "js_2", type: "js", url: "root/js/vue/axios/dist/axios.min.js"},
         // {id: "js_3", type: "js", url: "root/js/jquery-3.5.1.min.js"},
         
         {id: "css6", type: "css", url: "root/js/vue/element-ui/element-ui_15/theme-chalk/index.css"},
         // {id: "css6", type: "css", url: "root/js/vue/element-ui/lib/theme-chalk/index.css"},
         // {id: "css2", type: "css", url: "root/css/frame.css"},
         {id: "css3", type: "css", url: "root/css/icon/iconfont.css"},
         {id: "css5", type: "css", url: "root/css/myelement.css"},
         {id: "css4", type: "css", url: "root/css/page.css"},
         {id: "css5", type: "css", url: "root/css/theme.css"},
         
         {id: "js0", type: "js", url: "root/js/vue/element-ui/element-ui_15/index.js"},
         // {id: "js0", type: "js", url: "root/js/vue/element-ui/lib/index.js"},
         // {id: "js2", type: "js", url: "root/js/foundation.js"},
         {id: "js5", type: "js", url: "root/js/myelement.js"},
         {id: "js3", type: "js", url: "http://127.0.0.1:8848/jemin_rebate_h5/js_new/vue/page.js"},
         // {id: "js3", type: "js", url: "http://jemin.highdatas.com/js_new/vue/page.js"},
         {id: "js4", type: "js", url: "root/js/common.js"},
         {id: "js5", type: "js", url: "root/js/Sortable.js"},
         // {id: "js6", type: "js", url: "root/js/vuedraggable.umd.min.js"},
     ];
     
     
     */
    //pageurls页面上单独需要引用的js/css
    if (pageurls && pageurls.length) {
        pageurls.map(u=>{
            urls.push(u);
        })
    }
    
    doinitJsCss(win, urls, callback)
};
 
function doinitJsCss(win, urls, callback) {
    if (urls.length > 0) {
        ajaxPage(win, urls, callback);
    }
};
 
function ajaxPage(win, urls, callback){
    var urlObj = urls[0];
    var sId = urlObj.id;
    var url = urlObj.url;
    
    if (url.indexOf("?") != -1) {
        url += "&v=" + jscss_version;
    }
    else {
        url += "?v=" + jscss_version;
    }
    var url_ = "";
    if (url.substring(0, 5) == "root/") {
        url_ = pageUrl + url.substring(5);
    }
    else {
        url_ = url;
    }
    
    var type = urlObj.type;
    var oXmlHttp = GetHttpRequest();
    oXmlHttp.onreadystatechange = function() {
        if (oXmlHttp.readyState == 4) {
            includeJS(win, sId, type, url_, oXmlHttp.responseText, urls, callback);
        }
    }
    
    
    oXmlHttp.open('GET', url_, false);//同步操作
    oXmlHttp.send(null);
};
 
function GetHttpRequest() {
    if ( window.XMLHttpRequest ) // Gecko
    return new XMLHttpRequest() ;
    else if ( window.ActiveXObject ) // IE
    return new ActiveXObject("MsXml2.XmlHttp") ;
};
 
function includeJS(win, sId, type, fileUrl, source, urls, callback) {
    //if (( source != null ) && ( !win.getElementById( sId ))){
    if ( source != null ){
        var oHead = win.getElementsByTagName('HEAD').item(0);
        var oScript = win.createElement( "script" );
        
        if (type == "js") {
            oScript = win.createElement( "script" );
            oScript.type = "text/javascript";
            oScript.src = fileUrl; 
        }
        else if (type == "css") {
            oScript = win.createElement("link");
            oScript.rel = "stylesheet";
            oScript.href = fileUrl; 
        }
        
        oScript.id = sId;
        oScript.text = source;
        
        oHead.appendChild( oScript );
        
        oScript.onload = oScript.onreadystatechange = function(){
            var urlObj = urls[0];
            urls.splice(0, 1); 
            
            if (urls.length) {
                ajaxPage(win, urls, callback);
            }
            else {
                if (callback) {
                    callback();
                }
            }
        }
    }
};