使用新浪、百度、谷歌和微软的CDN加速jQuery

随着jQuery的版本更新,体积也越来越大,如果把jQuery放在自己的服务器上,会消耗不少的流量。而谷歌和百度等互联网公司为了方便开发者,提供了CDN加速服务,其中就包括jQuery。使用这些服务,不仅可以减轻自己的服务器的流量压力,也可以加快页面加载速度,一举两得。
为了防止出现某一个CDN服务器故障,特意写了一个函数,函数会自动根据目标链接是否有效来自动加载jQuery文件。代码如下:

PHP版本:

<script type="text/javascript" src="<?php jquery_url(); ?>'"></script>

<?php

function jquery_url(){
$jquery = array(
'http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js',
'http://libs.baidu.com/jquery/1.7.2/jquery.min.js',
'http://code.jquery.com/jquery-1.7.2.min.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',
'http://ajax.microsoft.com/ajax/jquery/jquery-1.7.2.min.js'
);
foreach($jquery as $v){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $v);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
$code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
if($code == 200){
echo $v;
break;
}
}
} ?>

Java Html版本

<html>
<head>
<meta charset="utf-8" />
<title>jQuery动态加载</title>
<script type="text/javascript">
// jQuery的CDN节点列表
var jquery_url = new Array();
jquery_url[1] = 'http://libs.baidu.com/jquery/1.7.2/jquery.min.js';
jquery_url[2] = 'http://code.jquery.com/jquery-1.7.2.min.js';
jquery_url[3] = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
jquery_url[4] = 'http://ajax.microsoft.com/ajax/jquery/jquery-1.7.2.min.js';
// 加载jQuery失败触发Load函数
function Load(n){
// 删除加载失败的jQuery
var old = document.getElementById('load_jquery');
old.parentNode.removeChild(old);
n += 1;
var jq_url = document.createElement('script');
jq_url.setAttribute("type", "text/javascript");
jq_url.setAttribute("src", jquery_url[n]);
jq_url.setAttribute("id", "load_jquery");
// 加载下一个节点
jq_url.setAttribute("onerror", "Load("+n+")");
document.getElementsByTagName("head")[0].appendChild(jq_url);
}
// 显示当前节点
window.onload = function(){
document.getElementById('my').innerHTML = "当前节点:" + document.getElementById('load_jquery').src;
}
</script>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js" id="load_jquery" onerror="Load(0)" ></script>
</head>
<body>
<div id="my"></div>
</body>
</html>

jQuery使用CDN加速的更多相关文章

  1. jquery cdn加速点

    新浪jquery cdn加速点: <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.js">< ...

  2. jquery的几个国内CDN加速节点

    分享几个jquery的几个国内国外的CDN加速节点,方便广大的开发设计者调用和节约空间,官网的总是最新版本的jquery所以不用去担心版本更新问题,其他加速节点可能不会在更新版本,所以取舍问题自己决定 ...

  3. 判断本地是否存在Jquery文件,如果不存在则使用CDN加速的Jquery文件

    <script>//判断是否成功将Jquery库引入,如果没有成功引入则引入本地Jquery库if (typeof jQuery == 'undefined') {document.wri ...

  4. BootCDN 开源项目免费 CDN 加速服务,Jquery插件库

    2017-11-17  19:38:32 免费好用的在线 css js 文件引用 BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 Jquery插件库 .

  5. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  6. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

  7. 推荐国内外优秀+免费CDN加速站点及公共cdn加速库

    -----------------------------------------------------------------免费CDN加速站点 1.CloudFlare CloudFlare可能 ...

  8. 加载CDN加速服务地址

    Jquery是个非常流行的JS前端框架,在很多网站都能看到它的身影.很多网站都喜欢采用一些Jquery CDN加速服务,这样网站加载jquery会更快.之前火端网络的一些网站都是使用Google的jq ...

  9. 各种常用的CDN加速服务

    各种CDN加速网址:点击此处 1.Echar <script type="text/javascript" src="http://echarts.baidu.co ...

随机推荐

  1. stand up

    #version_s#1.7#version_e# #update_s#https://files.cnblogs.com/files/dyh221/update.zip#update_e#

  2. 第一条python语句!

  3. c# 连接数据库SqlHelper

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  4. 学习Git笔记(更新中)

    参考网址:https://blog.csdn.net/zmx729618/article/details/52174373 跟着练习一下,写的很好. Git:是一个分布式版本控制系统. GitHub: ...

  5. C#控件之ComboBox控件使用

    首先如果要给ComboBox控件输入要显示的内容,方法是点击控件会显示如下图所示: 然后点击”编辑项”,如下所示: 下面在这里输入控件要显示的内容,即可. 如果要让ComboBox控件设置默认显示项, ...

  6. React相关:npm,ES6,

    1.NPM: 参考:npm使用入门  npm 学习笔记整理 2.ES6参考:ES6 let命令:ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块 ...

  7. 微信小程序 获取用户信息授权

    login.wxml界面 获取用户授权可以用微信提供的接口 wx.authorize, 但是获取用户信息的授权用这个接口不会弹出授权窗口 <button class="submit-b ...

  8. MySQLdb模块(数据库)

    安装 pip install mysqlclient 连接数据库 db = MySQLdb.connect(host="IP",port=端口,user="账号" ...

  9. 【Linux】comm指令

    语法 comm [-123][--help][--version][第1个文件][第2个文件] 参数 -1 不显示只在第1个文件里出现过的列 -2 不显示只在第2个文件里出现过的列 -3 不显示只在第 ...

  10. java方法 throws exception 事务回滚机制

    使用spring难免要用到spring的事务管理,要用事务管理又会很自然的选择声明式的事务管理,在spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检 ...