Skip to content

Commit b6bd65f

Browse files
committed
Update pvcep_rules.js
1 parent 42c364e commit b6bd65f

File tree

1 file changed

+31
-6
lines changed

1 file changed

+31
-6
lines changed

Picviewer CE+/pvcep_rules.js

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -801,11 +801,19 @@ var siteInfo = [
801801
url: /\breddit\.com|redd\.it/,
802802
getImage: function() {
803803
if (this.srcset) {
804-
var srcs = this.srcset.split(/[xw],/i);
805-
for (let i = 0; i < srcs.length; i++) {
806-
let srcInfo = srcs[i].trim().split(" ")[0];
807-
if (srcInfo.indexOf("?width") == -1) return srcInfo;
808-
}
804+
let srcs = this.srcset.split(/[xw],\s*/i);
805+
let maxSize = 0;
806+
let result = "";
807+
srcs.forEach(srcset => {
808+
let srcArr = srcset.split(" ");
809+
let curSize = parseInt(srcArr[1]);
810+
if (srcArr[0].indexOf("?width") == -1) return srcArr[0];
811+
if (curSize > maxSize) {
812+
maxSize = curSize;
813+
result = srcArr[0];
814+
}
815+
});
816+
if (this.src.indexOf("?width") !== -1) return result;
809817
} else if (/^https?:\/\/preview\./.test(this.src)){
810818
return this.src.replace("preview", "i").replace(/\?.*/, "");
811819
}
@@ -876,7 +884,24 @@ var siteInfo = [
876884
})
877885
} else if (/\/r\//.test(url)) {
878886
let img = doc.querySelector("img[src^='https://preview.redd.it/']");
879-
if (img) return img.src;
887+
if (img) {
888+
if (img.srcset) {
889+
let srcs = img.srcset.split(/[xw],\s*/i);
890+
let maxSize = 0;
891+
let result = "";
892+
srcs.forEach(srcset => {
893+
let srcArr = srcset.split(" ");
894+
let curSize = parseInt(srcArr[1]);
895+
if (srcArr[0].indexOf("?width") == -1) return srcArr[0];
896+
if (curSize > maxSize) {
897+
maxSize = curSize;
898+
result = srcArr[0];
899+
}
900+
});
901+
if (img.src.indexOf("?width") !== -1) return result;
902+
}
903+
return img.src;
904+
}
880905
img = doc.querySelector("[packaged-media-json]");
881906
if (img) {
882907
let mediaJson = img.getAttribute("packaged-media-json");

0 commit comments

Comments
 (0)