mirror of
https://gitee.com/willfree/MINResolveV2.git
synced 2026-06-17 11:40:36 +08:00
增加支持了对中文的解码
This commit is contained in:
+15
-25
@@ -74,8 +74,8 @@ function reload(result) {
|
||||
/* Auto reload */
|
||||
browser.storage.onChanged.addListener(function (changes, area) {
|
||||
// if (area == "local") {
|
||||
load("storage", reload);
|
||||
loadMisHost();
|
||||
load("storage", reload);
|
||||
loadMisHost();
|
||||
// }
|
||||
});
|
||||
|
||||
@@ -204,7 +204,7 @@ function downloadOnlineURLs() {
|
||||
var json;
|
||||
// content may be a string or json object
|
||||
if (typeof content === "string") {
|
||||
json = JSON.parse(content);
|
||||
json = JSON.parse(content);
|
||||
} else {
|
||||
json = content;
|
||||
}
|
||||
@@ -380,7 +380,7 @@ function getSearchContent(uriString) {
|
||||
}
|
||||
var content="";
|
||||
if(uriString.indexOf("//www.baidu.com")>=0){
|
||||
// &wd= [end] 或 &wd= &
|
||||
// &wd= [end] 或 &wd= &
|
||||
var startIndex=getPositiveNum(uriString.indexOf("?wd="))
|
||||
+getPositiveNum(uriString.indexOf("&wd="))+4;
|
||||
var lastString=uriString.substring(startIndex);
|
||||
@@ -391,7 +391,7 @@ function getSearchContent(uriString) {
|
||||
content=lastString;
|
||||
}
|
||||
}else if(uriString.indexOf("//www.google.com")>=0){
|
||||
// ?q= &
|
||||
// ?q= &
|
||||
var startIndex=getPositiveNum(uriString.indexOf("?q="))
|
||||
+getPositiveNum(uriString.indexOf("&q="))+3;
|
||||
var lastString=uriString.substring(startIndex);
|
||||
@@ -402,7 +402,7 @@ function getSearchContent(uriString) {
|
||||
content=lastString;
|
||||
}
|
||||
}else if(uriString.indexOf("//www.sogou.com")>=0){
|
||||
// &query= [end]
|
||||
// &query= [end]
|
||||
var startIndex=getPositiveNum(uriString.indexOf("?query="))
|
||||
+getPositiveNum(uriString.indexOf("&query="))+7;
|
||||
var lastString=uriString.substring(startIndex);
|
||||
@@ -446,7 +446,8 @@ function getSearchContent(uriString) {
|
||||
content=lastString;
|
||||
}
|
||||
}else{}
|
||||
return content.replace(/%2F/g,'/');
|
||||
return decodeURIComponent(content);
|
||||
// return content.replace(/%2F/g,'/');
|
||||
}
|
||||
|
||||
// 判断某个字符串是否包含映射表中的表项
|
||||
@@ -488,18 +489,6 @@ function isRightfulPrefix(urlString){
|
||||
// 判断某个字符串是否是映射表的一个前缀表项
|
||||
// 判断某个字符串是否包含映射表中的表项
|
||||
function isRulesPrefix(urlString) {
|
||||
// alert("要判断的urlString: "+urlString);
|
||||
// 先进行模糊判断
|
||||
// if(urlString===''){
|
||||
// return false;
|
||||
// }
|
||||
// if(urlString.indexOf('.')>=0){
|
||||
// return false;
|
||||
// }
|
||||
// if((urlString.indexOf('/')!==0)&&(urlString.indexOf('%2F')!==0)){
|
||||
// // alert("没/");
|
||||
// return false;
|
||||
// }
|
||||
if(!isRightfulPrefix(urlString)){
|
||||
return false;
|
||||
}
|
||||
@@ -554,7 +543,7 @@ function cutHttpHead(uri) {
|
||||
// 判断是http:还是https:
|
||||
var startIndex=0;
|
||||
if(uri.indexOf("https:")>=0){
|
||||
startIndex=8;
|
||||
startIndex=8;
|
||||
}else if(uri.indexOf("http:")>=0){
|
||||
startIndex=7;
|
||||
}
|
||||
@@ -564,9 +553,9 @@ function cutHttpHead(uri) {
|
||||
}else{
|
||||
var uritmp=uri.substr(startIndex);
|
||||
if(uritmp.indexOf(0)==='/'){
|
||||
return uritmp;
|
||||
return decodeURIComponent(uritmp);
|
||||
}else{
|
||||
return '/'+uritmp;
|
||||
return decodeURIComponent('/'+uritmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -607,10 +596,11 @@ function handleRedirect(details) {
|
||||
// alert("sc: "+searchContent);
|
||||
// 判断url去掉头部之后是否直接命中本地映射表
|
||||
var cutHeadString=cutHttpHead(details.url);
|
||||
// alert(cutHeadString);
|
||||
// 如果该搜索内容或网址命中了缓存中的映射表前缀,则重定向
|
||||
if(isRulesPrefix(searchContent)||isRulesPrefix(cutHeadString)){
|
||||
// alert("sc: "+searchContent+" isRules: "+isRulesPrefix(searchContent));
|
||||
// alert("cut: "+cutHeadString+" isRules: "+isRulesPrefix(cutHeadString));
|
||||
alert("sc: "+searchContent+" isRules: "+isRulesPrefix(searchContent));
|
||||
alert("cut: "+cutHeadString+" isRules: "+isRulesPrefix(cutHeadString));
|
||||
var prefixTemp="";
|
||||
if(searchContent!==""){
|
||||
prefixTemp=searchContent;
|
||||
@@ -716,7 +706,7 @@ function handleRedirect(details) {
|
||||
}else{
|
||||
// 如果不是进行搜索,且本地没有命中映射表,则异步请求mis更新映射表
|
||||
if((misEnableState===true)&&isRightfulPrefix(cutHeadString)){
|
||||
updateStorageBasedUri(details.url);
|
||||
updateStorageBasedUri(details.url);
|
||||
}
|
||||
// 并进行重定向
|
||||
if (_redirect_promise_supported) {
|
||||
|
||||
Reference in New Issue
Block a user