由于公司不能安装梯子,所以不能访问谷歌商店,平时频繁地要访问国外的AngularJS网站,比如AgGrid,AngularJS Material,AngularJS官网等,很多用了Google的CDN源,页面就无法正常加载。
一开始的思路是改host文件,但是我们没有Google CDN的证书,会造成证书错误。
参考并优化了:https://github.com/justjavac/ReplaceGoogleCDN ,动手写了一个Chrome插件,对所有特定请求重定向,解决痛点!
新建2个文件,放在同目录下。
manifest.json1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| { "name": "googleapis replacer", "version": "0.1", "manifest_version": 2, "description": "googleapis replacer", "background": { "scripts": [ "main.js" ] }, "permissions": [ "webRequest", "webRequestBlocking", "<all_urls>" ] }
|
main.js1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| var rules = [ { "s": "ajax.googleapis.com", "t": "ajax.loli.net" }, { "s": "fonts.googleapis.com", "t": "fonts.loli.net" }, ];
chrome.webRequest.onBeforeRequest.addListener( function (request) { var redirectUrl; var requestURL = request.url;
for (var i in rules) { if (requestURL.indexOf(rules[i].s)) { redirectUrl = requestURL.replace(rules[i].s, rules[i].t); return { redirectUrl: redirectUrl }; } } }, { urls: [ "*://ajax.googleapis.com/*", "*://themes.googleusercontent.com/*" ] }, ["blocking"] );
|
- 打开Chrome,输入: chrome://extensions/
- 勾选Developer Mode
- 选择Load unpacked extension…然后定位到代码文件夹,确定
测试:尝试访问 https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.js
拓展:可以在rules
中添加更多自定义的规则。
封面来源, Cover source: https://wallpapertag.com/google-chrome-wallpaper-background