NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Facebook AdBlock 2020
// @namespace http://tampermonkey.net/
// @version 1.1.0
// @description Remove Facebook Ads - Only English and Spanish
// @author Anarchy
// @license MIT
// @match https://www.facebook.com/*
// @grant none
// ==/UserScript==
const removeAds = () => {
var langs = new Array(new Array('S', 'p', 'o', 'n', 's', 'o', 'r', 'e', 'd'),new Array('P', 'u', 'b', 'l', 'i', 'c', 'i', 'd', 'a'));
var character = null;
var letChecked = null;
var feeds = document.getElementById('contentArea').querySelectorAll('[id*=hyperfeed_story_id]');
for (var i = 0; i < feeds.length; i++)
{
var checkAds = feeds[i].querySelector('h5');
if (checkAds !== null) {
checkAds = checkAds.nextSibling;
}
if (checkAds !== undefined && checkAds !== '' && checkAds !== null) {
for (var h = 0; h < langs.length; h++) {
letChecked = new Array(false, false, false, false, false, false, false, false, false);
for (var j = 0; j < langs[h].length; j++) {
character = checkAds.querySelectorAll('[data-content="' + langs[h][j] + '"]');
for (var k = 0; k < character.length; k++) {
if (character[k].offsetWidth > 0) {
letChecked[j] = true;
}
}
}
if (letChecked.indexOf(false) === -1) {
feeds[i].parentNode.removeChild(feeds[i]);
console.log('Ad Removed');
}
}
}
}
}
(function() {
window.addEventListener('load', () => {
setTimeout(removeAds, 1000);
});
window.addEventListener('scroll', () => {
setTimeout(removeAds, 1000);
});
})();