1 var Head = document.getElementsByTagName('head')[0],style = document.createElement('style'); 2 //文件全部加载完成显示DOM 3 function linkScriptDOMLoaded(parm){ 4 style.innerHTML = 'body{display:none}';//动态加载文件造成样式表渲染变慢,为了防止DOM结构在样式表渲染完成前显示造成抖动,先隐藏body,样式表读完再显示 5 Head.insertBefore(style,Head.firstChild) 6 var linkScript, linckScriptCount = parm.length, currentIndex = 0; 7 for ( var i = 0 ; i < parm.length; i++ ){ 8 if(/\.css[^\.]*$/.test(parm[i])) { 9 linkScript = document.createElement("link");10 linkScript.type = "text/" + ("css");11 linkScript.rel = "stylesheet";12 linkScript.href = parm[i];13 } else {14 linkScript = document.createElement("script");15 linkScript.type = "text/" + ("javascript");16 linkScript.src = parm[i];17 }18 Head.insertBefore(linkScript, Head.lastChild)19 linkScript.onload = linkScript.onerror = function(){20 currentIndex++;21 if(linckScriptCount == currentIndex){22 style.innerHTML = 'body{display:block}';23 Head.insertBefore(style,Head.lastChild)24 }25 }26 } 27 }28 //异步加载css,js文件29 function linkScript(parm, fn) {30 var linkScript;31 if(/\.css[^\.]*$/.test(parm)) {32 linkScript = document.createElement("link");33 linkScript.type = "text/" + ("css");34 linkScript.rel = "stylesheet";35 linkScript.href = parm;36 } else {37 linkScript = document.createElement("script");38 linkScript.type = "text/" + ("javascript");39 linkScript.src = parm;40 }41 Head.insertBefore(linkScript, Head.lastChild)42 linkScript.onload = linkScript.onerror = function() {43 if(fn) fn()44 }45 }46 47 48 49 linkScriptDOMLoaded([50 "/content/bootstrap/assets/css/style.css",51 "/content/bootstrap/assets/css/bootstrap.css",52 "/content/bootstrap/assets/js/footable/css/footable.standalone.css"53 ])54 linkScript("/content/bootstrap/assets/css/entypo-icon.css")55 linkScript("/content/bootstrap/assets/css/font-awesome.css")