var config = {
// baseUrl: ""
baseUrl: "/knockoutace"
};
// 返回ie版本,如果不是ie,返回999
function getIEVersion() {
var UA = navigator.userAgent;
var isIE = UA.indexOf('MSIE') > -1;
return isIE ? /\d+/.exec(UA.split(';')[1]) : 999;
}
// 动态创建css节点,并添加到positionNode里
function createCssNode(data, positionNode) {
var node = document.createElement('link');
node.setAttribute("rel", "stylesheet");
node.setAttribute("type", "text/css");
node.setAttribute("href", config.baseUrl + data["href"]);
if(data["class"]) {
node.setAttribute("class", data["class"]);
}
if(data["id"]) {
node.setAttribute("id", data["id"]);
}
positionNode.appendChild(node);
}
// 动态创建js节点,并添加到positionNode里
function createJsNode(src, positionNode, fun) {
var node = document.createElement('script');
node.setAttribute("type", "text/javascript");
node.setAttribute("src", config.baseUrl + src);
node.onload = node.onreadystatechange = function() {
if(!node.readyState || 'loaded' === node.readyState || 'complete' === node.readyState) {
fun && fun();
}
};
positionNode.appendChild(node);
}
// 按顺序加载js文件
function loadJsOneByOne(data, index, callback) {
var head = document.getElementsByTagName("head")[0];
if(index == data.length) {
callback && callback();
} else {
createJsNode(data[index], head, function(){
loadJsOneByOne(data, ++index, callback);
});
}
}
// 加载css文件
(function loadCssFiles() {
var cssFiles = {
"all": [
{"href": "/dist/bootstrap/css/bootstrap.css"},
{"href": "/dist/font-awesome/css/font-awesome.css"},
{"href": "/dist/prettify/prettify.min.css"},
{"href": "/lib/ace/fonts.googleapis.com.css"},
{"href": "/lib/ace/ace.min.css", "class": "ace-main-stylesheet", "id": "main-ace-style"},
{"href": "/lib/ace/ace-skins.min.css"},
{"href": "/lib/ace/ace-rtl.min.css"}
],
"lte9": [
{"href": "/lib/ace/ie9/ace-part2.min.css", "class": "ace-main-stylesheet"},
{"href": "/lib/ace/ie9/ace-ie.min.css"}
]
};
var head = document.getElementsByTagName("head")[0];
var allCssFiles = cssFiles["all"];
if(allCssFiles) {
for(var index = 0, length = allCssFiles.length; index < length; index++) {
createCssNode(allCssFiles[index], head);
}
}
var lte9CssFiles = cssFiles["lte9"];
if(lte9CssFiles && lte9CssFiles.length && getIEVersion() <= 9) {
for(index = 0, length = lte9CssFiles.length; index < length; index++) {
createCssNode(allCssFiles[index], head);
}
}
})();
createJsNode("/lib/ace/ace-extra.min.js", document.getElementsByTagName("head")[0]);
// 加载js文件
(function loadJsFiles(){
var jsFiles = {
"all": [
"/dist/jquery/jquery-1.12.4.js",
"/dist/jquery/jquery-ext.js",
"/dist/bootstrap/js/bootstrap.js",
"/dist/knockout/knockout.debug.js",
"/dist/prettify/prettify.min.js",
"/lib/ace/ace-elements.min.js",
"/lib/ace/ace.min.js"
],
"lte8": [
"/lib/ie8/html5shiv.min.js",
"/lib/ie8/respond.min.js"
]
};
var needLoadJsFiles = jsFiles["all"];
var lte8JsFiles = jsFiles["lte8"];
if(lte8JsFiles && lte8JsFiles.length && getIEVersion() <= 8) {
needLoadJsFiles = lte8JsFiles.concat(needLoadJsFiles);
}
loadJsOneByOne(needLoadJsFiles, 0, function(){
window.onload = function() {
createJsNode("/index.js", document.getElementsByTagName("head")[0]);
}
});
})();
一键复制
编辑
Web IDE
原始数据
按行查看
历史