function getThemeJson(param) { var xhr = null; var url = "../css/theme/config.json?" + new Date(); if (param.url) { url = param.url; } try { xhr = new XMLHttpRequest(); } catch (error) { console.error(error); if (typeof param.error == "function") { param.error(error); } return false; } var fn = function() { var step = xhr.readyState; var status = xhr.status; if (step == 4) { var data = xhr.responseText; if (status == 200) { if (typeof param.success == "function") { param.success(data); } } else { if (typeof param.error == "function") { param.error(); } } if (typeof param.completed == "function") { param.completed(data); } } }; xhr.onreadystatechange = fn; var s = param.async; s === undefined && (s = true); xhr.open("get", url, s); xhr.send(); } function setTheme(hreflist, datepickerFlag, ztreeFlag) { var fnspace = (function() { return { init: function(theme, hreflist, datepickerFlag, ztreeFlag) { // 加载时间插件主题样式 if (datepickerFlag) { } // 加载树插件主题样式 if (ztreeFlag) { } //加载页面主题样式文件 if (hreflist && hreflist.length > 0) { for (var i = 0; i < hreflist.length; i++) { this.addCSSFile(hreflist[i].replace("${theme}", theme)); } } }, addCSSFile: function(href) { //引入css样式表 var link = {}; link.type = "text/css"; link.rel = "stylesheet"; link.href = href; this.createLink(link); }, createLink: function(obj) { var link = document.createElement("link"); for (var key in obj) { link[key] = obj[key]; } document.getElementsByTagName("head")[0].appendChild(link); } }; })(); getThemeJson({ success: function(data) { var d = JSON.parse(data); var urlParam = decodeURIComponent(location.search); var _temp = ""; if (urlParam.indexOf("theme") !== -1) { var arr = urlParam.substr(urlParam.indexOf("theme")).split(/[\=\&]/g); _temp = arr[1]; localStorage.setItem("theme", _temp); } else { _temp = d.theme; } var theme = _temp || localStorage.getItem("configTheme") || "light"; fnspace.init(theme, hreflist, datepickerFlag, ztreeFlag); }, error: function() { console.error("获取主题失败"); } }); }