// ==UserScript==
// @name Free Spanish Press
// @name:en Free Spanish Press
// @namespace http://tampermonkey.net/
// @version 0.9
// @description Eliminar los mensajes molestos que tienes adblocker, auto-aceptar cookies y desactivar ciertos bloqueos de lectura
// @description:en Remove adBlockers detector for spanish press
// @author ALeX Molero
// @match *://*.elmundo.es/*
// @match *://*.abc.es/*
// @match *://*.20minutos.es/*
// @match *://*.elpais.com.es/*
// @match *://*.marca.com/*
// @match *://*.lavanguardia.com/*
// @match *://*.elcorreo.com/*
// @match *://*.lne.es/*
// @match *://*.lavozdegalicia.es/*
// @match *://*.as.com/*
// @match *://*.larazon.es/*
// @match *://*.libertaddigital.com/*
// @match *://*.elespanol.com/*
// @match *://*.elconfidencial.com/*
// @match *://*.okdiario.com/*
// @match *://*.mundodeportivo.com/*
// @match *://*.sport.es/*
// @match *://*.eldiario.es/*
// @match *://*.elperiodico.com/*
// @match *://*.expansion.com/*
// @match *://*.telva.com/*
// @match *://*.informacion.es/*
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
// ==/UserScript==
/* jshint esversion: 6 */
(function() {
'use strict';
const $ = jQuery || window.$;
const divElement = '.fc-ab-root';
const timeOut = 500
const hostName = window.location.hostname;
const retries = 30;
const domainName = hostName.substring(hostName.lastIndexOf(".", hostName.lastIndexOf(".") - 1) + 1);
const adblockerDetection = (selector, callback, retry) => {
if (jQuery(selector).length) {
callback();
return;
}
if(retry <= retries) {
setTimeout(() => {
adblockerDetection(selector, callback, retry+1);
}, timeOut);
}
};
const enableOverFlow = () => {
$(document.body, document.body.parentNode).css("overflow", "auto");
}
const removeScrollBlockers = (element) => {
$(element).css({
position: '',
top: '',
width: '',
height: '',
overflow: ''
});
};
const acceptCookies = () => {
const CookiesButton = '#didomi-notice-agree-button';
adblockerDetection(CookiesButton, () => {
$(CookiesButton).trigger('click');
}, 0);
}
const scroll = (element, removeScrollBlocker = false) => {
setTimeout(() => {
adblockerDetection(element, () => {
$(element).remove();
setTimeout(() => {
if(removeScrollBlocker) {
removeScrollBlockers(document.body);
removeScrollBlockers(document.body.parentNode);
}
disableScroll();
}, 100);
}, 5);
}, 300);
}
const disableScroll = () => {
window.removeEventListener('scroll', scroll, false);
}
const enableScroll = (element, removeScrollBlocker=false) => {
window.addEventListener('scroll', scroll(element, removeScrollBlocker), true);
}
$( document ).ready(() => {
adblockerDetection(divElement, () => {
$(divElement).remove();
enableOverFlow();
}, 0);
acceptCookies();
});
const removeAddsElMundo = () => {
const divModal = '.tp-modal';
const backdrop = '.tp-backdrop';
$('#banda_suscripcion').remove();
adblockerDetection(divModal, () => {
$(divModal).remove();
}, 15);
adblockerDetection(backdrop, () => {
$(backdrop).remove();
}, 15);
enableOverFlow();
enableScroll('.ue-cintillo-premium-scroll', true);
enableScroll('.ue-c-article__premium-icon-badge', true);
}
const removeAddsElPais = () => {
const headerAddBlock = '.ad.ad-giga.ad-giga-1';
adblockerDetection('#sfcampaign', () => {
$('#sfcampaign').remove();
}, 0);
adblockerDetection(headerAddBlock, () => {
$(headerAddBlock).remove();
}, 10);
}
const removeAddsAbc = () => {
$('.cintillo-dinamico.premium').remove();
const removeItem = '#engagement-top';
adblockerDetection(removeItem, () => {
$(removeItem).remove();
enableOverFlow();
}, 0);
}
const removeAddsElEspanol = () => {
const removeItem = '.tp-container-inner';
const removeFooter = '.msg-footer';
const removeBanner = '#megasuperior';
const suscriptor = '.full-suscriptor-container';
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 0);
adblockerDetection(removeFooter, () => {
$(removeFooter).remove();
}, 10);
adblockerDetection(removeBanner, () => {
$(removeBanner).remove();
}, 10);
adblockerDetection(suscriptor, () => {
$(suscriptor).remove();
}, 10);
}
const removeAddsLavanguardia = () => {
acceptCookies();
const removeItem = ".info-drtp-wrapper";
const removePopup = "#gg-alert";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 3);
adblockerDetection(removePopup, () => {
$(removePopup).remove();
}, 5);
}
const removeAddsElCorreo = () => {
acceptCookies();
const removeItem = ".voc-animated-modal-bottom--bg-onplus";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 3);
};
const removeAddsOkDiario = () => {
acceptCookies();
const removeItem = "#okd_top1_original";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 3);
};
const removeAddsLaRazon = () => {
acceptCookies();
const removeItem = ".content__ad";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 3);
};
const removeAddsExpansion = () => {
acceptCookies();
const removeItem = ".fc-ab-root";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 3);
enableOverFlow();
};
const removeAddsElDiario = () => {
acceptCookies();
enableScroll('.adblock-banner');
};
const removeAddsElPeriodico = () => {
acceptCookies();
};
const removeAddLaNuevaEspana = () => {
acceptCookies();
const noBaldomero = '.no-baldomero';
const bodyTruncate = '.article-body--truncated';
const removeItem = ".paywall";
adblockerDetection(removeItem, () => {
$(removeItem).remove();
}, 10);
adblockerDetection(noBaldomero, () => {
$(noBaldomero).removeClass('no-baldomero');
}, 10);
adblockerDetection(bodyTruncate, () => {
$(bodyTruncate).removeClass('article-body--truncated');
}, 10);
};
const removeAddMundodeportivo = () => {
acceptCookies();
};
const removeAddSport = () => {
acceptCookies();
};
switch(domainName) {
case 'abc.es': removeAddsAbc(); break;
case 'elmundo.es': removeAddsElMundo(); break;
case 'telva.com': removeAddsElMundo(); break;
case 'marca.com': removeAddsElMundo(); break;
case 'elpais.com': removeAddsElPais(); break;
case 'elespanol.com': removeAddsElEspanol(); break;
case 'okdiario.com': removeAddsOkDiario(); break;
case 'lavanguardia.com': removeAddsLavanguardia(); break;
case 'lavozdegalicia.es': acceptCookies(); break;
case 'elcorreo.com': removeAddsElCorreo(); break;
case 'lne.es': removeAddLaNuevaEspana(); break;
case 'informacion.es': removeAddLaNuevaEspana(); break;
case 'mundodeportivo.com': removeAddMundodeportivo(); break;
case 'sport.es': removeAddSport(); break;
case 'eldiario.es': removeAddsElDiario(); break;
case 'elperiodico.com': removeAddsElPeriodico(); break;
case 'larazon.es': removeAddsLaRazon(); break;
case 'expansion.com': removeAddsExpansion(); break;
default: return false;
}
})();