//入口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]();
}
}
}