Skip to content

Commit e465505

Browse files
committed
fix
1 parent 554cafa commit e465505

1 file changed

Lines changed: 33 additions & 26 deletions

File tree

Picviewer CE+/Picviewer CE+.user.js

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// @description Powerful picture viewing tool online, which can popup/scale/rotate/batch save pictures or find the HD original picture automatically
77
// @description:zh-CN NLF 的围观图修改版,增加高清原图查找显示(在线看图工具,支持图片翻转、旋转、缩放、弹出大图、批量保存、查找原图)
88
// @description:zh-TW NLF 的圍觀圖修改版,增加高清原圖查詢顯示(線上看圖工具,支援圖片翻轉、旋轉、縮放、彈出大圖、批量儲存、查詢原圖)
9-
// @version 2017.3.20.2
9+
// @version 2017.3.20.3
1010
// @created 2011-6-15
1111
// @namespace http://userscripts.org/users/NLF
1212
// @homepage http://hoothin.com
@@ -5054,32 +5054,37 @@ left:0px;\
50545054
this.searchButton=searchButton;
50555055
var srcs, from;
50565056
img.onerror=function(e){
5057-
setSearchState("原图加载失败,尝试加载下一结果……");
5057+
setSearchState("原图加载失败,尝试加载下一结果……",img.parentNode);
50585058
console.info(img.src+"加载失败");
50595059
var src=self.srcs.shift();
50605060
if(src)img.src=src;
50615061
else{
5062-
if(from<3){
5062+
if(from<searchSort.length){
50635063
from++;
5064-
searchImgByImg(self.img.src, function(srcs, index){
5064+
searchImgByImg(self.img.src, self.img.parentNode, function(srcs, index){
50655065
from=index;
50665066
self.srcs=srcs;
50675067
self.img.src=srcs.shift();
50685068
},null,null,from);
50695069
}else{
5070-
setSearchState("未找到原图");
5070+
setSearchState("未找到原图",img.parentNode);
50715071
setTimeout(function(){
5072-
setSearchState("");
5072+
setSearchState("",img.parentNode);
50735073
},2000);
50745074
}
50755075
}
50765076
};
50775077
img.onload=function(e){
5078-
setSearchState("");
5078+
setSearchState("",img.parentNode);
5079+
self.imgNaturalSize={
5080+
h:img.naturalHeight,
5081+
w:img.naturalWidth,
5082+
};
5083+
self.zoom(1,{x:0,y:0});
50795084
}
50805085
searchButton.addEventListener('click',function(e){
50815086
sortSearch();
5082-
searchImgByImg(self.img.src, function(srcs, index){
5087+
searchImgByImg(self.img.src, self.img.parentNode, function(srcs, index){
50835088
from=index;
50845089
self.srcs=srcs;
50855090
self.img.src=srcs.shift();
@@ -6659,7 +6664,7 @@ background-color:rgba(255, 0, 0, 0.150);\
66596664
let from=0;
66606665
let searchFun=function(){
66616666
console.log(self.data.imgSrc);
6662-
searchImgByImg(self.data.imgSrc, function(srcs, index){
6667+
searchImgByImg(self.data.imgSrc, null, function(srcs, index){
66636668
let src=srcs.shift();
66646669
if(index==3){
66656670
self.loadImg(src, srcs);
@@ -8523,9 +8528,9 @@ background-image:url("'+ prefs.icons.magnifier +'");\
85238528
});
85248529
}
85258530

8526-
function setSearchState(words){
8531+
function setSearchState(words,imgCon){
85278532
if(words)console.info(words);
8528-
var searchState = document.querySelector('.pv-pic-search-state');
8533+
var searchState = (imgCon?imgCon:document).querySelector('.pv-pic-search-state');
85298534
if(searchState)searchState.innerHTML=words;
85308535
}
85318536

@@ -8540,18 +8545,18 @@ background-image:url("'+ prefs.icons.magnifier +'");\
85408545
searchSort.unshift(prefs.firstEngine);
85418546
}
85428547

8543-
function searchImgByImg(imgSrc, callBack, onError, noneResult, searchFrom){
8548+
function searchImgByImg(imgSrc, imgCon, callBack, onError, noneResult, searchFrom){
85448549
let srcs=[];
85458550
var searchBaidu=function(){
8546-
setSearchState("百度识图开始……");
8551+
setSearchState("百度识图开始……",imgCon);
85478552
getUrl("http://image.baidu.com/n/same?queryImageUrl="+encodeURIComponent(imgSrc)+"&isguessword=1&rn=30&fr=pc&pn=0&sort=size", function(d){
85488553
let baiduJson;
85498554
try{
85508555
baiduJson=JSON.parse(d.responseText);
85518556
}catch(e){
8552-
setSearchState("未找到原图");
8557+
setSearchState("未找到原图",imgCon);
85538558
setTimeout(function(){
8554-
setSearchState("");
8559+
setSearchState("",imgCon);
85558560
},2000);
85568561
searchNext();
85578562
return;
@@ -8562,20 +8567,16 @@ background-image:url("'+ prefs.icons.magnifier +'");\
85628567
if(srcs.length>2)break;
85638568
srcs.push(imgData.objURL);
85648569
}
8565-
setSearchState("百度识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张");
8570+
setSearchState("百度识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张",imgCon);
85668571
callBackFun(srcs);
85678572
}else{
8568-
setSearchState("未找到原图");
8569-
setTimeout(function(){
8570-
setSearchState("");
8571-
},2000);
85728573
searchNext();
85738574
return;
85748575
}
85758576
}, onError);
85768577
};
85778578
var searchGoogle=function(){
8578-
setSearchState("谷歌识图开始……");
8579+
setSearchState("谷歌识图开始……",imgCon);
85798580
getUrl("https://www.google.com/searchbyimage?safe=off&image_url="+encodeURIComponent(imgSrc), function(d){
85808581
let googleHtml=document.implementation.createHTMLDocument('');
85818582
googleHtml.documentElement.innerHTML = d.responseText;
@@ -8591,7 +8592,7 @@ background-image:url("'+ prefs.icons.magnifier +'");\
85918592
let jsonData=JSON.parse(imgs[i].innerHTML);
85928593
srcs.push(jsonData.ou);
85938594
}
8594-
setSearchState("谷歌识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张");
8595+
setSearchState("谷歌识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张",imgCon);
85958596
callBackFun(srcs);
85968597
}, onError);
85978598
}else{
@@ -8600,7 +8601,7 @@ background-image:url("'+ prefs.icons.magnifier +'");\
86008601
}, onError);
86018602
};
86028603
var searchTineye=function(){
8603-
setSearchState("Tineye识图开始……");
8604+
setSearchState("Tineye识图开始……",imgCon);
86048605
getUrl("https://www.tineye.com/search?url="+encodeURIComponent(imgSrc)+"&sort=size", function(d){
86058606
let tineyeHtml=document.implementation.createHTMLDocument('');
86068607
tineyeHtml.documentElement.innerHTML = d.responseText;
@@ -8611,7 +8612,7 @@ background-image:url("'+ prefs.icons.magnifier +'");\
86118612
if(srcs.length>2)break;
86128613
srcs.push(searchImg[i].href);
86138614
}
8614-
setSearchState("Tineye识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张");
8615+
setSearchState("Tineye识图结束,共找到"+srcs.length+"张匹配图片,开始加载第一张",imgCon);
86158616
callBackFun(srcs);
86168617
}else{
86178618
searchNext();
@@ -8620,8 +8621,14 @@ background-image:url("'+ prefs.icons.magnifier +'");\
86208621
};
86218622
var searchNext=function(){
86228623
searchFrom++;
8623-
if(searchFrom<=3)switchSearch();
8624-
else if(noneResult)noneResult();
8624+
if(searchFrom<=searchSort.length)switchSearch();
8625+
else{
8626+
if(noneResult)noneResult();
8627+
setSearchState("未找到原图",imgCon);
8628+
setTimeout(function(){
8629+
setSearchState("",imgCon);
8630+
},2000);
8631+
}
86258632
};
86268633
var callBackFun=function(srcs){
86278634
callBack(srcs, searchFrom);

0 commit comments

Comments
 (0)