Advertisement
nzisaacnz

Remove Logan Paul from Logan search results

Dec 5th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Remove Logan Paul from Logan search results
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  Remove logan paul from youtube search results
  6. // @author       You
  7. // @match        https://www.youtube.com/*
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12.  
  13.     function applyHide(elem) {
  14.         elem.style.height = "25px";
  15.         elem.style.display = "block";
  16.         elem.style.position = "relative";
  17.         elem.style.overflow = "hidden";
  18.         elem.style.border = "1px dashed lightgrey";
  19.         var title = elem.querySelector('#video-title, #channel-title');
  20.         if (title) {
  21.             title.innerText = title.innerText.toLowerCase().replace(/[^a-z ]/g,"");
  22.             title.style.fontSize = "12px";
  23.         }
  24.         var img = elem.querySelector("ytd-thumbnail, #avatar");
  25.         if (img) {
  26.             img.parentNode.removeChild(img);
  27.         }
  28.     }
  29.     function removeLoganPaul() {
  30.         var r;
  31.         var anchors = document.querySelectorAll('a');
  32.         for(var i=anchors.length-1; i>=0; i--) {
  33.             if (/LoganPaul|JakePaul|UCG8rbF3g2AMX70yOd8vqIZg|UC4MUu2aQB-2FKQp0HfDOE3Q/.test(anchors[i].href) || /(logan paul)|(jake paul)/i.test(anchors[i].innerText)) {
  34.                 var toRemove = recurseTo(anchors[i], function(node) {
  35.                     return node && (node.tagName == "YTD-CHANNEL-RENDERER" || node.tagName == "YTD-VIDEO-RENDERER");
  36.                 });
  37.                 if(toRemove && toRemove.parentNode){
  38.                     applyHide(toRemove);
  39.                 }
  40.             }
  41.         }
  42.         var t = document.getElementById("title");
  43.         if (t && /Logan Paul/.test(t.innerHTML)){
  44.             r = t.parentNode.parentNode.parentNode.parentNode;
  45.             r.style.opacity = "0.05";
  46.             applyHide(r);
  47.         }
  48.     }
  49.  
  50.     function recurseTo(node, lambda) {
  51.         if (!node) return null;
  52.         if (lambda(node)) return node;
  53.         else return recurseTo(node.parentNode, lambda);
  54.     }
  55.  
  56.     XMLHttpRequest = (function(old){
  57.         return function() {
  58.             var xhr = new old();
  59.             xhr.addEventListener("loadend", function() {
  60.                 setTimeout(removeLoganPaul,100);
  61.             });
  62.             return xhr;
  63.         };
  64.     })(XMLHttpRequest);
  65.  
  66.     // Your code here...
  67.     setTimeout(removeLoganPaul,1000);
  68. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement