源自我的博客
在国内访问google
的时候,总是需要费一番周折,之前一直修改hosts,可以访问https://google.com.hk
,后来发现总是出现连接被重置的情况,如下图:
而且可以发现,连接是http://google.com.hk
, 如果改为https://google.com.hk
还是可以正常访问的。但是每次手动修改就太麻烦了,因此想到可以用chrome的扩展程序来做这件事情。查阅了一些文档,发现chrome提供了很直接的接口,就是chrome.tabs.update
方法,就是可以修改重定向的。主要代码如下:
manifest.json
的代码:
{
"manifest_version": 2,
"name": "http2https",
"description": "visit google with https",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"background":{
"page":"runjs.html"
},
"permissions":[
"tabs"
]
}
js
的代码
var urlHistoryMap = [];
chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
if(!/http:\/\/.*?google(dservices)?.com/.test(tab.url)) return;
if(info.status == "loading") {
var preUrl = urlHistoryMap[tabId];
if(null == preUrl || preUrl != tab.url){
chrome.tabs.update(tab.id, {url: tab.url.replace("http://", "https://"),highlighted:true});
urlHistoryMap[tabId] = tab.url;
}
}
});
完整的代码:http2https
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。