博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态加载CSS,JS文件
阅读量:5811 次
发布时间:2019-06-18

本文共 2215 字,大约阅读时间需要 7 分钟。

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")

 

转载于:https://www.cnblogs.com/yuwenjing0727/p/9565748.html

你可能感兴趣的文章
SLF4j 和 common-logging
查看>>
linux命令之head、tail命令具体解释
查看>>
调戏木马病毒的正确姿势——下
查看>>
C++高级进阶 第四季:const具体解释(二) 常量折叠
查看>>
黑马程序猿——25,打印流,合并流,对象序列化,管道流,RandomAccessFile
查看>>
云联云通讯报错:应用与模板id不匹配,解决方法
查看>>
rhel7的xfs与Oracle database
查看>>
[Java并发包学习七]解密ThreadLocal
查看>>
【转】Java 枚举7常见种用法
查看>>
MapReduce编程(一) Intellij Idea配置MapReduce编程环境
查看>>
IBM openblockchain学习(四)--crypto源代码分析
查看>>
(LeetCode)用两个栈实现一个队列
查看>>
Word TOC域的使用说明
查看>>
什么是 end-to-end 神经网络?——知乎解答
查看>>
perl 读取json 格式的文件
查看>>
牛客网Java刷题知识点之字节缓冲区练习之从A处复制文本文件到B处(BufferedReader、BufferedWriter)、复制文本文件的原理图解...
查看>>
[js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)
查看>>
JAVA-数据库之加载JDBC驱动程序
查看>>
JQuery中阻止事件冒泡方式及其区别
查看>>
vue中使用Ueditor编辑器
查看>>