使用Redirector插件解决googleapis公共库加载的问题【转】

转自:http://www.cnblogs.com/kari/p/5860371.html

最近访问一些面向国外的网站总是会出现ajax.googleaips.com无法加载的情况.以下为加载stackoverflow时的情境:

图1 -无法加载的google公共库

问题的原因是谷歌没有在国内开放ajax公共库服务

使用Redirector解决公共库加载问题

Redirector这个插件的功能正如它的名字, 可以对网页中的内容进行重定向

外部样式表,外部脚本, 图片等均可以添加至作用范围

安装

Redirector目前支持Firefox、Chrome、Opera三款浏览器,可以前往对应浏览器的应用市场下载安装相应版本

熟悉Github的用户也可以直接前往项目主页上找下载链接:einaregilsson/Redirector

使用

注:如果你不希望手动设置,可以直接浏览“使用Import来导入设置”一节来使用导入来进行设置

下面以我使用的Firefox为例。

安装后工具栏中会出现Redirector的图标,点击弹出菜单

图2 -弹出菜单

菜单中包含启用/停用与编辑重定向规则两个按钮,这里我们点击第二个按钮进入设置页面来编辑重定向规则

图3 -设置页面

 点击‘Create new redirect’来新建重定向规则

图4 -编辑重定向规则

然后依次填写各项

  • Description中填写描述,这里我们填写Ajax来说明这条重定向规则应用于谷歌Aja公共库,当然你也可以随便填其他内容
  • Example URL中随便填写一个要应用重定向的URl, 这里我们使用 http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
  • Include partten中填写用来识别要应用重定向的URl的表达式,这里我们填写 *ajax.googleapis.com*
  • Redirect to中填写欲重定向至的URL,这里我们填写 $1ajax.lug.ustc.edu.cn$2

图5 -依次填写各项

依次填写各项后Example result项会显示出将Example Url根据规则修改后的结果,这里显示出http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.7.1/jquery.min.js,嗯,非常完美不是吗

关于国内谷歌公共库镜像ajax.lug.ustc.edu.cn

我们需要有一个可以提供相同服务的镜像来替换ajax.googleapis.com

之前国内常用的是360镜像ajax.useso.com, 不过最近挂掉了, 于是我在网上找到了另一个镜像ajax.lug.ustc.edu.cn

关于ajax.lug.ustc.edu.cn请查看这篇文章

关于Include partten中的' * '占位符与Redirect to中的' $ '符号

官方文档中的一句话

$1, $2, $3 in the redirect urls will match the text that the stars matched.

也就是说Redirect to中的$1、$2分别指代了Include partten中第一个、第二个‘ * ’星号所匹配的内容

我们的设置方法通俗的说就是把原Url中ajax.googleapis.com之前与之后的内容分别抓取下来,粘贴到ajax.lug.ustc.edu.cn前后, 形成新的网址

更多关于匹配规则的内容请查看关于正则表达式的教程

接下来点击'Show advanced options',显示高级选项来设置规则的应用范围

图6 -显示高级选项

在Apply to中可以选择规则的应用范围,默认勾选的是Main window一项,重定向地址栏。这里我们只勾选Script一项,将规则应用到外部脚本中

最后点击Save来保存,就会得到与图3一样的页面

再次加载文章开头提到的Stackoverflow网站

图7 -成功加载Stackoverflow网站

大功告成!

使用Import来导入设置

将以下代码随便复制到一个新文件中

{
    "createdBy": "Redirector v3.1.0",
    "createdAt": "2016-09-10T13:29:02.323Z",
    "redirects": [
        {
            "description": "Ajax",
            "exampleUrl": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js",
            "exampleResult": "http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.7.1/jquery.min.js",
            "error": null,
            "includePattern": "*ajax.googleapis.com*",
            "excludePattern": "",
            "redirectUrl": "$1ajax.lug.ustc.edu.cn$2",
            "patternType": "W",
            "processMatches": "noProcessing",
            "disabled": false,
            "appliesTo": [
                "script"
            ]
        }
    ]
}

之后使用设置页面的Import功能导入该文件就可以加载与上文相同的重定向规则



 

如果你喜欢本文,请点击下方推荐按钮

时间: 2024-08-08 10:56:23

使用Redirector插件解决googleapis公共库加载的问题【转】的相关文章

java-ztree插件的使用递归查询出现加载子节点相同

问题描述 ztree插件的使用递归查询出现加载子节点相同 最近项目开发遇到个问题,还望各位高手些帮忙解决下,我使用ztree插件构建树形菜单递归查询"机构名称"时候加载出了父节点(**顶级节点**),当我去点击展看子节点的时候,树形结构创建子节点全部一样了 解决方案 http://tieba.baidu.com/p/1548730337 解决方案二: http://tieba.baidu.com/p/1548730337

Android插件化之资源动态加载_Android

Android插件化之资源动态加载 一.概述 Android插件化的一个重要问题就是插件资源访问问题,先列出会面对的问题 1.如何加载插件资源 2.如何处理插件资源与宿主资源的处突:插件化资源问题要做到的效果是,如果我们要获取的资源在插件中找得到,则加载优先加载插件的,如果找不到,则到宿主资源中找.这样能做到动态更新的效果. 3.如何确保插件和宿主使用到的是被修改过的资源. 二.原理分析 在做一件事之前必须先弄清楚原理,所以,这里先要弄清楚Android的资源体系原理. 1.资源链   Cont

Android插件化之资源动态加载

Android插件化之资源动态加载 一.概述 Android插件化的一个重要问题就是插件资源访问问题,先列出会面对的问题 1.如何加载插件资源 2.如何处理插件资源与宿主资源的处突:插件化资源问题要做到的效果是,如果我们要获取的资源在插件中找得到,则加载优先加载插件的,如果找不到,则到宿主资源中找.这样能做到动态更新的效果. 3.如何确保插件和宿主使用到的是被修改过的资源. 二.原理分析 在做一件事之前必须先弄清楚原理,所以,这里先要弄清楚Android的资源体系原理. 1.资源链 Contex

linux系统 动态共享库-动态共享库加载到内存中,怎样才能保证只有一份副本

问题描述 动态共享库加载到内存中,怎样才能保证只有一份副本 这几天一直在看关于动态共享库的知识,但看到一个地方,就不懂了,在网上搜索了一下!也没有找到答案!希望有哪位高手,帮小弟解答一下,小弟不胜感激! 问题:动态共享库,顾名思义,可以在多个进程间,进行共享!在系统中只保存一份副本,现在假设Process A已经将Lib A Load到物理内存,但当同样共享Lib A的Process B开始运行时,它是如何知道Lib A已经被加载到内存中,且如何找到这块物理内存?

jquery插件NProgress.js制作网页加载进度条

  这篇文章主要介绍了jquery插件NProgress.js制作网页加载进度条的相关资料,需要的朋友可以参考下 NProgress.js是极细的纳米级进度条,用现实的细线条动画让用户看到网页正在发生的事情! 你也许已经在 Youtube 上看过了那道红色激光脉冲,它会在你切换页面时出现.其实许多移动浏览器的进度条都是这个样式,但是在网页上实现可不多见.不过,有了 NProgress 这个 jQuery 插件,你也可以轻松实现! NProgress.js应用于复杂网页的细长进度条.由 Googl

解决用jquery load加载页面到div时,不执行页面js的问题

 这篇文章主要介绍了解决用jquery load加载页面到div时,不执行页面js的问题.需要的朋友可以过来参考下,希望对大家有所帮助 jquery代码:    代码如下: $(function(){ $("#test").load("${contextPath}/notepad/toCreate.do"); }    加载 ${contextPath}/notepad/toCreate.do 页面到id为test的div中,加载完成之后,create页面中的js不

reference-QT中ortp库加载后,里面的函数未定义的问题

问题描述 QT中ortp库加载后,里面的函数未定义的问题 undefined reference to `ortp_init' 解决方案 http://blog.csdn.net/nemo2011/article/details/7371266 解决方案二: 你对应函数delib库没有link进来 解决方案三: 具体怎么做啊,不会弄那个,能说下步骤吗?

完美解决JS文件页面加载时的阻塞问题_javascript技巧

关于页面加载时的时间消费,许多书中都做出了介绍,也提出了很多种方法.本文章就详细介绍XHR注入. 概述:JS分拆的方法 1.XHR注入:就是用ajax异步请求同域包含脚本的文件,然后将返回的字符串转化为脚本使用,该方法不会造成页面渲染和onload事件的阻塞,因为是异步处理,推荐使用. 2.iframe注入:加载一个iframe框架,通过使用iframe框架中的脚本来避免src方式加载脚本的阻塞,但是iframe元素开销较大,不推荐. 3.DOM注入:就是创建script元素,通过制定该元素的s

使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)_AJAX相关

在项目中用ajax异步获取数据后有时会因为数据问题或者网络问题,页面一直显示空白,现在用加载图片来过渡这种状态: <script> $(function(){ $.ajax({ url:'',//提供接口的文件地址链接 dataType:'json', type:'POST', beforeSend: function(){ $('#loading').html("<img src=\"images/loading.gif\" width=\"15