站在巨人的肩上。。。 。。。
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代码。