使用js加载器动态加载外部js、css文件
let MiniSite = new Object();
/**
* 判断浏览器
*/
MiniSite.Browser = {
ie: /msie/.test(window.navigator.userAgent.toLowerCase()),
moz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
opera: /opera/.test(window.navigator.userAgent.toLowerCase()),
safari: /safari/.test(window.navigator.userAgent.toLowerCase())
};
/**
* 加载外部的文件
* @param sUrl 要加载的文件的url地址
* @param fileType 要加载的文件的类型
* @fCallback 文件加载完成之后的处理函数
*/
MiniSite.JsLoader = function(sUrl, fileType, fCallback) {
let fileHref;
if (fileType == "js") {
fileHref = document.createElement('script');
fileHref.setAttribute("type", "text/javascript");
fileHref.setAttribute("src", sUrl);
} else if (fileType == "css") {
fileHref = document.createElement('link');
fileHref.setAttribute("rel", "stylesheet");
fileHref.setAttribute("type", "text/css");
fileHref.setAttribute("href", sUrl);
}
if (fileHref !== undefined) {
document.getElementsByTagName("head")[0].appendChild(fileHref);
if (MiniSite.Browser.ie) {
fileHref.onreadystatechange = function() {
if (this.readyState == 'loaded' || this.readyState == 'complete') {
if (fCallback != undefined) {
fCallback();
}
}
};
} else {
fileHref.onload = function() {
if (fCallback != undefined) {
fCallback();
}
};
}
}
}; //动态加载 CSS 文件
MiniSite.JsLoader("/static/css/all.css", "css");
MiniSite.JsLoader("/static/css/base.css", "css");
MiniSite.JsLoader("/static/css/style.css", "css");
//动态加载 JS 文件
MiniSite.JsLoader("https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js", "js", function() {
MiniSite.JsLoader("https://cdn.jsdelivr.net/npm/vue", "js");
MiniSite.JsLoader("/static/js/bootstrap.min.js", "js");
MiniSite.JsLoader("/static/js/bootstrap-table.min.js", "js", function() {
MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-table/1.12.1/locale/bootstrap-table-zh-CN.min.js", "js");
MiniSite.JsLoader("/static/js/tableExport.min.js", "js");
MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-table/1.12.1/extensions/export/bootstrap-table-export.min.js", "js");
});
MiniSite.JsLoader("https://cdn.bootcss.com/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js", "js");
MiniSite.JsLoader("/static/js/common.js", "js");
});
使用js加载器动态加载外部js、css文件的更多相关文章
- JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件
今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...
- 使用js加载器动态加载外部Javascript文件
原文:http://www.cnblogs.com/xdp-gacl/p/3927417.html 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js var ...
- 为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件
为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件.样式文件命名格式如:forms[_屏幕宽度].css,样式文件中只需重新定义文本框和下拉框的宽度即可. 在包含的头文件 ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- 动态库DLL加载方式-静态加载和动态加载
静态加载: 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头文件中 #pragma comment(lib ...
- JAVA反射机制--静态加载与动态加载
Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如pu ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- js与jquery的动态加载脚本文件
jquery动态加载 jQuery.getScript(url,[callback]) js动态加载 function loadJs(name) { document.write('<scrip ...
- js实现滚动条来动态加载数据
主要angular2+es6 data:Array<any> //展示的数据 allData:Array<any> //全部的数据 size:number = 10 //每次动 ...
随机推荐
- 18、属性赋值-@Value赋值
18.属性赋值-@Value赋值 18.1 使用@Value赋值三种方式 基本数值 可以写SPEL 表达式,例如: #{} 可以写${} ,取出配置文件中的值(在运行环境变量里面的值) package ...
- 如何获得div对象的绝对坐标
<script> function test() { var $div0 = $('#0'); va ...
- linux笔试题
1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统 C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 2. 在大多数Linux发行版本 ...
- P5312 [Ynoi2011]D2T1
思路:01trie 按位维护 提交:5边 错因:爆int + 少处理询问时的右端点 题解: 见代码(已经不想说什么了) 代码 //I have my own flg; #include<bits ...
- java获取一段字符串里符合日期的正则表达式的字符串
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test3 { public static v ...
- Vue-es6基础语法
什么是ES6 ECMAScript 6 简称ES6, 在2015年6月正式发布~ ECMAScript 是JavaScript语言的国际标准. 我们本着二八原则,掌握好常用的,有用的~能让我们更快的 ...
- Jumbled String (Kattis - jumbledstring)(思维题)
Problem Recall that a subsequence of a string is any string obtained by removing some subset of char ...
- spring事务在web环境中失效的问题
今天温习一下spring事务的时候,出现了一种诡异的现象,在java环境中测试事务是可以的.然后到web下测试事务就没用了.spring.xml配置 spring-mvc.xml配置 后来百度发现是因 ...
- 关于安卓端 点击button时出现橙色边框
一开始我以为是安卓的原因,后来经过测试发现不是,出现这个情况应该button的outline属性生效了,但是我已经写了outline 为none,后来发现,需要写上:foucs{ outline:0 ...
- mybatis参数形式
1 使用map <select id="selectRole" parameterType="map" resultType="RoleMap& ...