chrome浏览器替换code.jquery.com CDN的加速URL

站在巨人的肩上。。。 。。。

 

js表格tabulator,所有feature(特征)都开放使用,看起来也很美观,那就弃用ag-grid。

但是tabulator的快速入门文档,看不到代码,鼠标拖选也可以看:

打开页面又慢,按F12看调试信息,code.jquery.com无法访问(注:https://power.larc.nasa.gov/如果想在线查看/导出光照时间,data-access-viewer页面的小组件通常无法用,也是这个原因)。

可以使用chrome的扩展:ReplaceG**gleCDN-0.6.0,来解决这个问题。将它解压,增加想替换的URL即可,注意这里使用了Microsoft的CDN,有的CDN对跨域访问会因为无 'Access-Control-Allow-Origin' 而拒绝访问。

/**
 * @type {Map<string, boolean>}
 */
const tabinfo = new Map();

/**
 * 扫描响应头,是否含有 Content-Security-Policy
 * @param {object[]} headers
 * @returns {boolen}
 */
function hasCSP(headers) {
    return headers.some(x => x.name.toLowerCase() === 'content-security-policy')
};

chrome.webRequest.onHeadersReceived.addListener(
    function (details) {
        tabinfo.set(details.tabId, hasCSP(details.responseHeaders))
    },
    {
        urls: ['<all_urls>'],
        types: ['main_frame'],
    },
    ['responseHeaders']
);

chrome.webRequest.onBeforeRequest.addListener(
    function (details) {
        if (tabinfo.get(details.tabId)) {
            return details.url;
        }
        let url = details.url.replace('http://', 'https://')
        url = url.replace('ajax.googleapis.com', 'ajax.loli.net');
        url = url.replace('fonts.googleapis.com', 'fonts.loli.net');
        url = url.replace('themes.googleusercontent.com', 'themes.loli.net');
        url = url.replace('fonts.gstatic.com', 'gstatic.loli.net');
        url = url.replace('www.google.com/recaptcha/', 'www.recaptcha.net/recaptcha/');
        url = url.replace('secure.gravatar.com', 'gravatar.loli.net');
        // replace code.jquery.com
        url = url.replace('code.jquery.com/ui/', 'ajax.aspnetcdn.com/ajax/jquery.ui/');
        url = url.replace('code.jquery.com', 'ajax.aspnetcdn.com/ajax/jQuery/');
        // replace pretty
        url = url.replace('cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?style=desert', 'cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js');
        url = url.replace('google-code-prettify.googlecode.com/svn/loader/prettify.css', 'cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.css');
        url = url.replace('cdn.rawgit.com/google/code-prettify/master/loader/', 'cdnjs.cloudflare.com/ajax/libs/prettify/r298/');
        return { redirectUrl: url };
    },
    {
        urls: [
            "*://ajax.googleapis.com/*",
            "*://fonts.googleapis.com/*",
            "*://themes.googleusercontent.com/*",
            "*://fonts.gstatic.com/*",
            "*://www.google.com/recaptcha/*",
            "*://secure.gravatar.com/*",
            "*://code.jquery.com/*",
            "*://cdn.rawgit.com/*",
            "*://google-code-prettify.googlecode.com/*",
        ]
    },
    ["blocking"]
);

chrome.tabs.onRemoved.addListener(function (tabId) {
    tabinfo.delete(tabId);
});

 urls中不能忘记加入需要替换的域名。

在Chrome的扩展程序中,加载即可,无须打包,并在右下角“重新加载”一下。

当然,打开首页也正常了,可以看到下面的example代码。 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

容沁风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值