CDN
有时候会遇到CDN挂掉的情况,导致页面长时间空白,极大地降低用户体验。这时候就需要CDN替补了。
一般的做法是,添加替补script标签。比如对于jquery。如果在替补标签中发现jquery对象没有挂载到window对象上,就生成一段新的script标签加载替补cdn:
<script src="http://libs.useso.com/js/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>
<script>window.jQuery || document.write('<script src="js/jquery-2.1.1.min.js"><\/script>')</script>
还有一种方法,是同时加载不同的cdn,这样即时一个cdn平台挂掉了,另一个也会加载成功,毕竟两个cdn都挂掉的机率很低:
<!-- summernote -->
<link href="https://cdn.bootcss.com/summernote/0.8.12/summernote.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/summernote/0.8.12/summernote.css" rel="stylesheet">
<!-- bootstrap -->
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- adminLte -->
<link href="https://cdn.bootcss.com/admin-lte/2.4.10/css/skins/_all-skins.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/admin-lte/2.4.10/css/skins/_all-skins.min.css" rel="stylesheet" >
<link href="https://cdn.bootcss.com/admin-lte/2.4.10/css/AdminLTE.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/admin-lte/2.4.10/css/AdminLTE.min.css" rel="stylesheet" >
<!-- font-awesome -->
<link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" >
<!-- element.css -->
<link href="https://cdn.bootcss.com/element-ui/2.11.1/theme-chalk/index.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/element-ui/2.11.1/theme-chalk/index.css" rel="stylesheet">
- 七牛源:http://www.staticfile.org/
- bootcdn