var pageUrl = window.top.config.url_page; var jscss_version = window.top.config.jscssversion;//.js/.css文件的版本号,去除前端缓存的一种机制 function initJsCss(win, pageurls, callback) { //公共引用的js/css var urls = [ {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: "root/js/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(); } } } } };