Facebook remove sponsored ads blocks

Remove Sponsored blocks from Facebook

Versión del día 28/3/2022. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name Facebook remove sponsored ads blocks
// @version 1.7
// @description Remove Sponsored blocks from Facebook
// @author Sly_North
// @match https://www.facebook.com/*
// @namespace https://greasyfork.org/en/users/759669-sly-north
// @license MIT
// @grant none
// ==/UserScript==

console.log('Start RemoveAllSponsored');

function RemoveAllSponsored()
{
  var elts = document.getElementsByTagName('span');
  // TODO support more languages if there's interest.
  var keywords = [/S.*p.*o.*n.*s.*o.*r.*e.*d/, /C.*o.*m.*m.*a.*n.*d.*v.*i.*t/, /S.*p.*o.*n.*s.*o.*r.*i/,
                  /R.*e.*k.*l.*a.*m.*o/, /P.*u.*b.*l.*i.*c.*i.*d/, /G.*e.*s.*p.*o.*n.*s.*e.*r/,
                  /P.*a.*t.*r.*o.*c.*i.*n.*a.*d.*o/, /s.*u.*g.*e.*r.*i.*s.*d.*o.*s/,
                  /贊.*助/,
                  /R.*e.*m.*e.*m.*b.*e.*r.*P.*a.*s.*s.*w.*o.*r.*d/]
  var nbrRemoved = 0;
  for (var i=0; i < elts.length; ++i)
  {
    var e = elts[i];
    if (e.parentElement.tagName != 'SPAN') continue;

    var intext = e.innerText.replaceAll("\n", "");
    for (k in keywords)
    {
      var regexp = keywords[k];
      if (intext.match(keywords[k])) {
        // console.log('Removing span ' + i);
        e.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.innerHTML = "";
        ++nbrRemoved;
        break;
      }
    }
  }

  if (nbrRemoved > 0) console.log('Remove spans count=', nbrRemoved);

  setTimeout(RemoveAllSponsored, 1000);
}

RemoveAllSponsored();


console.log('Done');