Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
FreshPenguin112
GitHub Repository: FreshPenguin112/bookmarklets
Path: blob/main/ytengagement.js
5051 views
1
function engage() {
2
setTimeout(engage, 1000);
3
Array.from(document.getElementsByTagName("ytd-thumbnail")).forEach(function(e) {
4
var oldLink = e.getAttribute("value");
5
var newLink = e.children[0].href;
6
if (oldLink != newLink) {
7
e.setAttribute("value", newLink);
8
e.style.borderBottom = "";
9
e.style.borderImage = "";
10
e.style.borderImageSlice = "";
11
e.style.paddingBottom = "";
12
e.style.marginTop = "";
13
var xhr = new XMLHttpRequest();
14
xhr.open("GET", newLink, true);
15
xhr.onload = function() {
16
var ytid = JSON.parse(this.responseText.match(/var ytInitialData = ({.+?});/)[1]);
17
if (!ytid.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer.viewCount.videoViewCountRenderer.isLive) {
18
try {
19
var likes = parseInt(ytid.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer.videoActions.menuRenderer.topLevelButtons[0].toggleButtonRenderer.defaultText.accessibility.accessibilityData.label.replace(/\D/g, ""));
20
var views = parseInt(ytid.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer.viewCount.videoViewCountRenderer.viewCount.simpleText.replace(/\D/g, ""));
21
var rating = views ? 100 * Math.log(likes + 1) / Math.log(views + 1) : 0;
22
e.style.borderBottom = "3px solid";
23
e.style.borderImage = "linear-gradient(to right, #008000 " + rating + "%, #404040" + rating + "%)";
24
e.style.borderImageSlice = "1";
25
e.style.paddingBottom = "2px";
26
e.style.marginTop = "-1px";
27
}
28
catch (e) {
29
console.log(ytid.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer.title.runs[0].text);
30
}
31
}
32
};
33
xhr.send();
34
}
35
});
36
}
37
engage();
38
39