//入口js 'use strict'; //版本控制 var versions = 'v_1.0'; //不缓存 versions = 'v_' + new Date().getTime(); //加载完成全局数组 var LOAD = []; //获取当前目录级别 var script = document.querySelector('script[door]'); var dire = ''; //目录 var _dire = ''; //相对目录 if (script) { var jHtml = script.outerHTML, srcS = 'src="', strE = '"'; srcS = jHtml.indexOf(srcS) + srcS.length; //路径开始位置 strE = jHtml.indexOf(strE, srcS); //路径结束位置 jHtml = jHtml.substring(srcS, strE); //完整路径带文件名 strE = jHtml.lastIndexOf('/'); //查找倒数第一斜杠位置 dire = jHtml.substring(0, strE + 1); //完整相对路径 /** * (项目跟目录) 预留本地加载文件名,实现预先本地配置 貌似无法完成 * 通过配置项目名(项目目录)来获取项目路劲进行全项目页面相对路径配置 * 完成通过全域名引用admin框架 * 目前未实现 */ if (dire.lastIndexOf("../") > -1) { _dire = dire.substr(0, dire.lastIndexOf("../") + 3); } //载入ajax拦截器,引入layui,载入配置文件 require(['js/ajaxhook.min.js', "layui/layui.js", 'js/config.js']); } else { console.error("入口js标签没有关键属性 door"); } //动态加载js函数 连接,成功或失败回调 function require(url, type) { if (!Array.isArray(url)) { url = [url]; } for (var i = 0; i < url.length; i++) { ___load('script', url[i], type); } } //动态载入CSS function link(url, type) { if (!Array.isArray(url)) { url = [url]; } for (var i = 0; i < url.length; i++) { ___load('link', url[i], type); } } //加载公共函数 function ___load(type, url, _type) { //拼接地址 var href = dire + url; //_type为true 不进行url转换 _type && (href = url); //全路劲直接访问 (url.substr(0, 2) == '//' || /^http(s*):\/\//.test(url)) && (href = url); //添加版本号 href = href + '?v=' + versions; //js类型 if (type == 'script') { document.write(""); } else { //样式类型 document.write(""); } } //加载完毕执行 function ready(callback) { LOAD.push(callback); window.onload = function() { for (var i = 0; i < LOAD.length; i++) { LOAD[i] && (typeof LOAD[i] == 'function') && LOAD[i](); } } }