简单检测CDN链接是否有效
CDN链接经常是使用的。但是,CDN链接挂了怎么办,因此,就要调用使用本站点的库,那么怎么实现呢?
检测CDN的jquery链接是否有效(这种方法比较简单)
<script src="" type="text/javascript"></script>
<script>window.jQuery || document.write('<script src="js/jquery-2.1.1.min.js"><\/script>')</script>
那么,问题来了,假如我要检测其他CDN呢?如使用bootstrap框架的js与css呢?
本人就想了一个比较简单的方法(同步方式)
...
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script type="text/javascript" src="https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
... <script>
//判断cdn是否有效
$.when(
//同步方式发送请求
$.ajax({
url: "https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css",
async: false
}),
$.ajax({
url: "https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js",
async: false
})
//如果链接失效,就写入本地的链接
).fail(function() {
$("link[href='https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css']").after(" < link rel = 'stylesheet' href = 'css/bootstrap.min.css' > ");
$("script[src='https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js'").after(" < script type = 'text/javascript' src = 'js/bootstrap.min.js' > < \/script>");
});
</script>
使用requirejs加载(异步方式)
<!doctype html>
<html>
<head>
<title>requirejs</title>
<meta charset="utf-8">
<script data-main="js/main" src="js/require.js"></script>
</head>
<body>
<span>requirejs</span>
</body>
</html>
main.js
require.config({
paths: {
//配置cdn与本地jq
jquery: ['http://cdn.bootcss.com/jquery/2.0.0/jquery.min', 'jquery-2.0.0.min'],
},
map: {
//这个是require-css插件,即css.min.js
'*': {
'css': 'css.min'
}
},
});
require(['jquery'], function($) {
alert("jquery load");
});
//引入的写法是插件写法,直接在这里写路径
require(['css!../css/a.css'], function() {
alert('stylesheet load');
});
a.css
span{
font-weight:bold ;
}
PS:学习了一下requirejs这个库,原理是动态生成<script>标签,这个库比较适合管理引入过多的js库,可以提高web前端页面性能。(使用css就要引用require-css插件)
如果引入js(或者css)比较少的话,就不必使用这个库了。
简单检测CDN链接是否有效的更多相关文章
- 收集一些常用的CDN链接!无需下载快速使用!
一些常用的CDN链接,可以到这里看: http://www.bootcdn.cn/ 这个网站查找资源的方式很简单,后缀加上要查找的名字即可: 例如: http://www.bootcdn.cn/boo ...
- vue单页面引入CDN链接
不想在index.html文件中全局引入CDN资源,那么如何在Vue单文件组件中引入?下面来瞅瞅~ 虚拟DOM创建 Vue 通过创建一个虚拟 DOM 来追踪自己要改变的真实 DOM 什么是虚拟DOM? ...
- 脚本检测CDN节点资源是否与源站资源一致
需求: 1.所有要检测的资源url放到一个单独文件中 2.检测cdn节点资源大小与源站文件大小是否一致 3.随机抽查几个资源,检查md5sum是否一致 4.使用多线程,可配置线程数 代码目录: hex ...
- iOS 网络与多线程--1.检测网络链接状态
通过Reachability库,检测设备的网络连接状况. 使用到的类库:Reachability Reachability库,是一个iOS环境下,检测设备网络状态的库,可以在网络上搜索下载. 使用之前 ...
- 实现一个基于tcc/tlink的简单的编译链接工具
一.基础研究 在这里我们需要提供一套新的c语言开发工具cc,它支持的c程序不是从main开始运行而是从CMain开始运行. 书上已经对该工具程序进行了需求分析:(1)要在屏幕中间显示彩色的字符串:(2 ...
- 简单的ld链接脚本学习
一. 链接脚本的整体认识 什么是链接文件呢?作用是什么呢? 当编写了多个C文件时,我们将他们编译链接成一个可执行的文件,此时就需要用到链接脚本文件(ld).ld脚本主要功能就是:将多个目标文件(.o) ...
- 自动检测SOCKET链接断开
如何判断SOCKET已经断开 最近在做一个服务器端程序,C/S结构.功能方面比较简单就是client端与server端建立连接,然后发送消息给server.我在server端会使用专门的线程处理一条s ...
- 常用的CDN 链接 http://cdn.code.baidu.com/ http://www.bootcdn.cn/
http://cdn.code.baidu.com/ http://developer.baidu.com/wiki/index.php?title=docs/cplat/libs ★新浪CDN,感觉 ...
- 预防cdn链接失效,无缝切换本地文件
如今的前端项目追求的不仅仅是能用能看的程度,而是愈发追求项目的性能,对用户体验的影响.而现在的开发工具在性能优化方面也替我们做很大一部分的工作,想必大家对CDN的使用都是轻车熟路了,但是大家有没有考虑 ...
随机推荐
- SpringBoot 封装返回类以及session 添加获取
1.创建返回类Result public class Result<T>{ /*错误码*/ private Integer code; /*提示信息 */ private String m ...
- dataset datatable datacolums datarow
DataSet 表示数据在内存中的缓存. 属性 Tables 获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...
- javaSe-线程2
package com.java.chap09.sec02; public class Thread3 implements Runnable{ private int baoZi=1; privat ...
- 程序员的智囊库系列之3--分布式文件系统(Distributed file systems)
程序员的智囊库系列之3--分布式文件系统(Distributed file systems) 这是程序员的智囊库系列的第三篇文章.上一篇文章本来打算介绍几个搭建网站的框架,但由于这部分的内容较多,还需 ...
- group - 用户组文件
DESCRIPTION(描述) /etc/group 是一个ASCII码的文件,它定义了用户所属的组.文件中每行包括一条记录,其格式如下: group_name:passwd:GID:user_lis ...
- JavaScript 获取对象中第一个属性
使用 Object.keys(object) 可以取出属性名为数组,但会打乱顺序 严格意义上对象中是只有映射关系而没有顺序的,但是在存储结构里是有顺序的,如果想获取存储结构里的第一个属性可以使用for ...
- springboot 修改文件上传大小限制
springboot 1.5.9文件上传大小限制spring:http:multipart:maxFileSize:50MbmaxRequestSize:50Mb springboot 2.0文件上传 ...
- 【转】matlab练习程序(奇异值分解压缩图像)
介绍一下奇异值分解来压缩图像.今年的上半年中的一篇博客贴了一篇用奇异值分解处理pca问题的程序,当时用的是图像序列,是把图像序列中的不同部分分离开来.这里是用的不是图像序列了,只是单单的一幅图像,所以 ...
- poj1265 Area
题目描述: vjudge POJ 由于题目乱码概括一下题意: 给出一个路径,求围成多边形中内部点数.边上点数(包括顶点)以及面积. 题解: 边上点数=$\sum gcd(dx,dy)$ $Pick$定 ...
- Linux - which xxx - 查找执行的命令所在的路径
Linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置,如何做呢? Linux 下有2个命令可完成该功能:which ,whereis which 用来查看当 ...