Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name YouTube Restore Dislike Counters
- // @version 1.0.0
- // @description A userscript to restore the dislike counts on YouTube.
- // @author syndiate
- // @match *://www.youtube.com/*
- // @run_at document_start
- // ==/UserScript==
- //1st method
- window.addEventListener('DOMNodeInserted', checkButton);
- function checkButton(e) {
- if (e.target.id == "button") {
- init();
- window.removeEventListener('DOMNodeInserted', checkButton);
- }
- }
- //2nd method
- window.addEventListener('yt-page-data-updated', init, false);
- function init() {
- let data = document.querySelector("ytd-app").data;
- if(data.response.contents.twoColumnWatchNextResults == undefined) return;
- let contents = data.response.contents.twoColumnWatchNextResults.results.results.contents;
- let vidroot;
- for (let p = 0; p < contents.length && typeof (vidroot = contents[p]).videoPrimaryInfoRenderer == 'undefined'; p++);
- let ratio = data.playerResponse.videoDetails.averageRating;
- let percent = (ratio - 1) * 25;
- let likes = Number(vidroot.videoPrimaryInfoRenderer.videoActions.menuRenderer.topLevelButtons[0].toggleButtonRenderer.toggledText.accessibility.accessibilityData.label.replace(/[^0-9]/g, '')) - 1;
- let dislikes = Math.round(4 * likes / (ratio - 1)) - likes;
- let bts = document.querySelectorAll("yt-formatted-string#text.ytd-toggle-button-renderer");
- bts[1].innerHTML = FormatNumber(dislikes);
- document.querySelector("ytd-sentiment-bar-renderer").removeAttribute("hidden");
- document.getElementById("like-bar").setAttribute("style", "width: " + Math.round(percent) + "%;");
- document.getElementById("sentiment").setAttribute("style", "width: " +
- bts[0].parentElement.getBoundingClientRect().width +
- bts[1].parentElement.getBoundingClientRect().width + 12) + "px;";
- }
- function FormatNumber(value) {
- return Intl.NumberFormat('en-US', { notation: 'compact' }).format(value);
- }
Advertisement
Add Comment
Please, Sign In to add comment