Facebook Simple Adblock for feed

Hides ads / Oculta os anúncios

当前为 2025-05-15 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Facebook Simple Adblock for feed
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.0.2 - 14/05/2025
  5. // @description Hides ads / Oculta os anúncios
  6. // @author 0Hz
  7. // @compatible brave
  8. // @compatible chrome
  9. // @compatible firefox
  10. // @icon https://static.xx.fbcdn.net/rsrc.php/y1/r/ay1hV6OlegS.ico
  11. // @include https://www.facebook.com/*
  12. // @include https://facebook.com/*
  13. // @include http://www.facebook.com/*
  14. // @include http://facebook.com/*
  15. // @match *://example.org/*
  16. // @grant none
  17. // @license Unlicense license
  18. // ==/UserScript==
  19.  
  20. let blockadcontact = true;
  21. let blockadpost = true;
  22. let interval = 1000;
  23. const list = ["Patrocinado", "Patrocinada","Paeroniet","Sponsored","Sponsorizzata","Sponsorizzato","Sponsorizat","Sponsorisé", "Disponsori", "Sponsorizuar", "Sponset","Sponsorowane","Szponzorált","Gesponsord","Gesponsert","Kuxhasiwe","赞助", "スポンサー付き", "후원","برعاية", "ממומן","प्रायोजित","Հովանավորվում է","ߘߡߍ߬ߟߋ߲","Спонсор", "Aningaasaliiffigineqartoq"];
  24. const urls = ["https://www.facebook.com/","http://www.facebook.com/","https://www.facebook.com","http://www.facebook.com/"];
  25.  
  26. if (urls.includes(document.location.href)) {
  27. getElementByInnerText(list);
  28. }
  29.  
  30. function getElementByInnerText(list) {
  31. try {
  32. // ADS Contacts
  33. if (blockadcontact==true) {
  34. const allElements = document.querySelectorAll('span.x1lliihq.x6ikm8r.x10wlt62.x1n2onr6.x1j85h84');
  35. for (const element of allElements) {
  36. if (list.includes(element.innerText)) {
  37. element.innerText = ' ';
  38. element.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.display="none";
  39. element.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style="height: 0px; opacity: 0; visibility: hidden;";
  40. break;
  41. }
  42. }
  43. }
  44. } catch (error) {
  45. console.error(error);
  46. }
  47. try {
  48. //ADS Posts
  49. if (blockadpost==true) {
  50. const allElementsX = document.querySelectorAll('div > span > div > span > span > a.x1i10hfl.xjbqb8w.x1ejq31n.xd10rxx.x1sy0etr.x17r0tee.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.x1ypdohk.xt0psk2.xe8uvvx.xdj266r.x11i5rnm.xat24cr.x1mh8g0r.xexx8yu.x4uap5.x18d9i69.xkhd6sd.x16tdsg8.x1hl2dhg.xggy1nq.x1a2a7pz.xkrqix3.x1sur9pj.xi81zsa.x1s688f');
  51. for (const elementX of allElementsX) {
  52. if (elementX.href.search("/?__cft__") != -1) {//if (elementX.href.search("/ads/about/") != -1) NEED MOUSE OVER TRIGGED TO SHOW/FOUND /ads/about/
  53. elementX.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.display="none";
  54. elementX.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style="height: 0px; opacity: 0; visibility: hidden;";
  55. }
  56. }
  57. }
  58. } catch (error) {
  59. console.error(error);
  60. }
  61. try {
  62. //ADS inside normal Posts
  63. if (blockadpost==true) {
  64. const allElementsZ = document.querySelectorAll('div > a.x1i10hfl.xjbqb8w.x1ejq31n.xd10rxx.x1sy0etr.x17r0tee.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.x1ypdohk.xe8uvvx.xdj266r.x11i5rnm.xat24cr.x1mh8g0r.xexx8yu.x4uap5.x18d9i69.xkhd6sd.x16tdsg8.x1hl2dhg.xggy1nq.x1o1ewxj.x3x9cwd.x1e5q0jg.x13rtm0m.x1n2onr6.x87ps6o.x1lku1pv.x1a2a7pz.x1lliihq');
  65. for (const elementZ of allElementsZ) {
  66. elementZ.style.display = "none";
  67. elementZ.style = "height: 0px; opacity: 0; visibility: hidden;";
  68. }
  69. }
  70. } catch (error) {
  71. console.error(error);
  72. }
  73. }
  74.  
  75. function exec() {
  76. try {
  77. if (urls.includes(document.location.href)) {
  78. getElementByInnerText(list);
  79. }
  80. } catch (error) {
  81. console.error(error);
  82. }
  83. }
  84.  
  85. intervalID = setInterval(exec,interval);