Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Display dislike count
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @author Anonymous
- // @match https://www.youtube.com/*
- // @icon https://www.google.com/s2/favicons?domain=youtube.com
- // @grant none
- // ==/UserScript==
- function format(number) {
- if (number < 1000)
- return number;
- if (number < 10000)
- return Math.floor(number/100)/10 + "k";
- return Math.floor(number/1000) + "k";
- }
- async function updateDislikes() {
- if (location.href.search(/v=[0-9a-zA-Z_-]{11}/)){
- let element = document.querySelector('#button[aria-label="Dislike this video"]');
- if (element) {
- element.parentElement.parentElement.querySelector("#text").textContent = "...";
- }
- let response = await fetch(location.href);
- let text = await response.text();
- let ratio = (text.match(/averageRating":([\d\.]*)/)[1] - 1) / 4;
- let likeCount = text.match(/label":"([\d,]*) likes/)[1];
- likeCount = likeCount.replace(/\D/g, '');
- let dislikeCount = likeCount / ratio - likeCount;
- document.querySelector('#button[aria-label="Dislike this video"]').parentElement.parentElement.querySelector("#text").textContent = format(Math.round(dislikeCount));
- }
- }
- document.addEventListener("yt-navigate-finish", updateDislikes);
- window.addEventListener("load", updateDislikes);
- setInterval(updateDislikes, 3 * 60 * 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement