Skip to content

Commit c6f2bea

Browse files
committed
Update pvcep_rules.js
1 parent cb36c5a commit c6f2bea

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Picviewer CE+/pvcep_rules.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ var siteInfo = [
829829
});
830830
}
831831
return apiUrl + "/gifs/" + aHref.replace(/.*redgifs.com\/(..\/)?(\w+\/)?(\w+)(?:\.\w+)?/, '$3');;
832-
} else if (p[1] && p[1].classList.contains("search-result")) {
832+
} else if (p[1] && p[1].classList && p[1].classList.contains("search-result")) {
833833
let link = p[1].querySelector("a.search-link");
834834
if (link && link.href) {
835835
if (/\/\/v.redd\.it\/\w+\/?$/.test(link.href)) {
@@ -838,6 +838,8 @@ var siteInfo = [
838838
return link.href;
839839
}
840840
}
841+
} else if (a && this.src && p[2] && p[2].nodeName == "FACEPLATE-IMG") {
842+
return a.href;
841843
}
842844
},
843845
headers: (url, self) => {
@@ -872,6 +874,17 @@ var siteInfo = [
872874
(!i ? '[' + new Date(data.created_utc*1e3).toLocaleString() + ' | ' + data.title + '] ' : '') + (c.caption || '')
873875
]
874876
})
877+
} else if (/\/r\//.test(url)) {
878+
let img = doc.querySelector("img[src^='https://preview.redd.it/']");
879+
if (img) return img.src;
880+
img = doc.querySelector("[packaged-media-json]");
881+
if (img) {
882+
let mediaJson = img.getAttribute("packaged-media-json");
883+
if (mediaJson) {
884+
return JSON.parse(mediaJson).playbackMp4s.permutations.pop().source.url;
885+
}
886+
}
887+
return;
875888
}
876889
var xmlDoc = (new DOMParser()).parseFromString(html, 'application/xml');
877890
var highestRes = [].slice.call(xmlDoc.querySelectorAll('Representation[frameRate]'))

0 commit comments

Comments
 (0)