iftv plugin, button to remove sections(streaming, ads, photo sharing...)

remove ads in iyf webpage

  1. // ==UserScript==
  2. // @name iftv plugin, button to remove sections(streaming, ads, photo sharing...)
  3. // @namespace bluebug
  4. // @version 0.0.10
  5. // @match https://www.iyf.tv/
  6. // @icon https://www.iyf.tv/favicon.ico
  7. // @run-at document-end
  8. // @description remove ads in iyf webpage
  9. // @require https://code.jquery.com/jquery-3.6.0.min.js
  10. // @license MIT License
  11. // ==/UserScript==
  12. (function () {
  13. 'use strict';
  14.  
  15. setTimeout(() => {
  16. function remove() {
  17. const ads = document.querySelectorAll('body > div > div.share-top > app-index > div > :not(app-classified-top-videos)');
  18. ads.forEach(child => child.remove());
  19.  
  20. const res = setInterval(() => {
  21. if (ads.length) {
  22. console.log("inside setInterval");
  23. remove();
  24. clearInterval(res);
  25. }
  26. }, 1000);
  27. }
  28.  
  29. remove();
  30.  
  31. const userBlock = document.querySelector('div.box.justify-content-end');
  32.  
  33. if (userBlock) {
  34. const newButton = document.createElement('button');
  35. newButton.innerText = 'remove ads';
  36. newButton.style.padding = '10px 20px';
  37. newButton.style.borderRadius = '5px';
  38. newButton.style.backgroundColor = '#007bff';
  39. newButton.style.color = '#fff';
  40. newButton.style.border = 'none';
  41. newButton.style.cursor = 'pointer';
  42. newButton.style.fontSize = '14px';
  43.  
  44. newButton.addEventListener('click', function () {
  45. console.log("clicked");
  46. remove();
  47. });
  48.  
  49. userBlock.insertAdjacentElement('afterend', newButton);
  50. } else {
  51. console.warn('未找到 userBlock 元素');
  52. }
  53. }, 2000);
  54. })();
  55. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5kZXYudXNlci5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5cbihmdW5jdGlvbiAoKSB7XG4gICd1c2Ugc3RyaWN0JztcbiAgLy8gYXV0by1yZWNvbW1lbmQtbmV3cyByZW1vdmVkXG4gIGNvbnN0IHRhZyA9IGRvY3VtZW50XG4gICAgICAucXVlcnlTZWxlY3RvckFsbChcImJvZHkgPiBkaXYgPiBhcHAtc2hhcmVkLXRvcG5hdiA+IGFwcC1pbmRleCA+IGRpdiA+IGFwcC1yZWNvbW1lbmRlZC1uZXdzXCIpO1xuICAvLyByZW1vdmUgdGhlIHRhZ1xuICB0YWc/LmZvckVhY2goKGUpID0+IGUucmVtb3ZlKCkpO1xuXG4gIC8vIHJlbXZvZSBieSBpZCBvZiB0b3BWaWRlb05ld3NcbiAgY29uc3QgdG9wVmlkZW9OZXdzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3RvcFZpZGVvTmV3cycpO1xuICB0b3BWaWRlb05ld3M/LmZvckVhY2goKGUpID0+IGUucmVtb3ZlKCkpO1xuXG4gIGNvbnN0IGFub3RoZXJPbmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5ID4gZGl2ID4gYXBwLXNoYXJlZC10b3BuYXYgPiBhcHAtaW5kZXggPiBkaXYgPiBkaXYnKTtcbiAgYW5vdGhlck9uZT8ucmVtb3ZlKCk7XG59KSgpOyJdLCJuYW1lcyI6WyJ0YWciLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwiZSIsInJlbW92ZSIsInRvcFZpZGVvTmV3cyIsImFub3RoZXJPbmUiLCJxdWVyeVNlbGVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFFQSxDQUFDLFlBQVk7O0VBRVg7RUFDQSxFQUFBLE1BQU1BLEdBQUcsR0FBR0MsUUFBUSxDQUNmQyxnQkFBZ0IsQ0FBQyx5RUFBeUUsQ0FBQyxDQUFBO0VBQ2hHO0VBQ0FGLEVBQUFBLEdBQUcsS0FBSEEsSUFBQUEsSUFBQUEsR0FBRyxLQUFIQSxLQUFBQSxDQUFBQSxHQUFBQSxLQUFBQSxDQUFBQSxHQUFBQSxHQUFHLENBQUVHLE9BQU8sQ0FBRUMsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLE1BQU0sRUFBRSxDQUFDLENBQUE7O0VBRS9CO0VBQ0EsRUFBQSxNQUFNQyxZQUFZLEdBQUdMLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUE7RUFDL0RJLEVBQUFBLFlBQVksS0FBWkEsSUFBQUEsSUFBQUEsWUFBWSxLQUFaQSxLQUFBQSxDQUFBQSxHQUFBQSxLQUFBQSxDQUFBQSxHQUFBQSxZQUFZLENBQUVILE9BQU8sQ0FBRUMsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLE1BQU0sRUFBRSxDQUFDLENBQUE7RUFFeEMsRUFBQSxNQUFNRSxVQUFVLEdBQUdOLFFBQVEsQ0FBQ08sYUFBYSxDQUFDLHdEQUF3RCxDQUFDLENBQUE7RUFDbkdELEVBQUFBLFVBQVUsYUFBVkEsVUFBVSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFWQSxVQUFVLENBQUVGLE1BQU0sRUFBRSxDQUFBO0VBQ3RCLENBQUMsR0FBRzs7Ozs7OyJ9