JavaScript动态加载资源【js|css】示例代码
2016-09-23 15:52
826 查看
在开发过程中会用到各种第三方的插件,或者自己写在单独文件中的js方法库或者
如果动态加载的是css样式,请考虑页面渲染的顺序,动态加载的样式自己一般用于在页面加载完成后的一些交互内容。如果是加载js文件,也要考虑先load再调用相关引入的js文件中的方法。
上面的代码片段适用于加载:上述代码所在js文件的同级文件或其子目录文件!
css样式,在
html头部总是需要写一大堆的
script和
link标签,如果想要自己实现动态的引入资源文件,可以使用开源的
require.js,如果想要自己做一个简单的实现,参考实例代码如下:
;(function(){ var config = { idPrefix : 'xxx', path : function(){ var scripts = document.scripts, script = scripts[scripts.length - 1], jsPath = script.src; return jsPath.substring(0, jsPath.lastIndexOf('/') + 1); }(), }; var load = { sources : function(sourceName){ var head = document.getElementsByTagName('head')[0]; var sourceName = sourceName.replace(/\s/g,''); var isCssFile = /\.css$/.test(sourceName); var htmlNode = document.createElement(isCssFile? 'link' : 'script'); var sourceId = config.idPrefix + sourceName.replace(/\.|\//g,''); if(isCssFile) { htmlNode.rel = 'stylesheet'; htmlNode.type = 'text/css'; } htmlNode[isCssFile? 'href' : 'src'] = /^http:\/\//.test(sourceName) ? sourceName : config.path+sourceName; htmlNode.id = sourceId; if(!document.getElementById(sourceId)){ head.appendChild(htmlNode); } return this; }, } //加载 load.sources('css/main.css'); })();
如果动态加载的是css样式,请考虑页面渲染的顺序,动态加载的样式自己一般用于在页面加载完成后的一些交互内容。如果是加载js文件,也要考虑先load再调用相关引入的js文件中的方法。
上面的代码片段适用于加载:上述代码所在js文件的同级文件或其子目录文件!
相关文章推荐
- 动态加载、移除js/css文件的示例代码
- 实战javascript之动态加载js和动态加载css
- ASP.net动态加载JS代码与CSS文件
- javascript实现动态导入js与css等静态资源文件的方法
- 异步动态加载JS并运行(示例代码)
- 用javascript动态加载不同css/js文件
- JS动态加载JavaScript和Css
- 做js时用到的几个方法(获取html的get传值 、动态加载js和css资源)
- 用JavaScript动态加载CSS和JS文件
- JS获取浏览器语言动态加载JS文件示例代码
- 用JavaScript动态加载CSS和JS文件
- 在Javascript中动态加载css文件和js文件
- 预加载css或javascript的js代码
- JavaScript动态加载css和js文件
- JS获取浏览器语言动态加载JS文件示例代码
- javascript预加载图片、css、js的方法示例介绍
- 用JavaScript动态加载CSS和JS文件
- 如何使用jquery动态加载js,css文件实现代码
- javascript实现动态导入js与css等静态资源文件的方法
- javascript 动态加载css、js