diff --git a/src/js/modules/elements.js b/src/js/modules/helpers.js similarity index 91% rename from src/js/modules/elements.js rename to src/js/modules/helpers.js index a91c879..51bbee2 100644 --- a/src/js/modules/elements.js +++ b/src/js/modules/helpers.js @@ -1,4 +1,4 @@ -export const notRemovable = Array.from([ +export const getNotRemovableElements = (document) => Array.from([ // PLO ...document.getElementsByClassName("plu-no-scroll"), // Quantcast @@ -9,7 +9,7 @@ export const notRemovable = Array.from([ ...document.getElementsByClassName("noScroll"), ]); -export const removable = Array.from([ +export const getRemovableElements = (document) => Array.from([ // BLQ document.getElementById("blq-global"), // CC @@ -55,6 +55,9 @@ export const removable = Array.from([ document.getElementById("ensNotifyBanner"), // ePrivacy document.getElementById("ePrivacyDisclaimer"), + // Evidon + document.getElementById("_evidon_banner"), + ...document.getElementsByClassName("evidon-banner"), // Facebook ...document.getElementsByClassName("fbPageBanner"), // Google @@ -90,11 +93,13 @@ export const removable = Array.from([ // Miscellaneous ...document.getElementsByClassName("_1ouSF3xnwUjIOquxopuxSZ"), ...document.getElementsByClassName("announcements"), + ...document.getElementsByClassName("branch-journeys-top"), ...document.getElementsByClassName("cc-cookies"), document.getElementById("cconsent-bar"), document.getElementById("cookie-consent-banner"), ...document.getElementsByClassName("cookiedisclaimer"), ...document.getElementsByClassName("cookie_box"), + ...document.getElementsByClassName("cookie-container"), document.getElementById("cookie-div"), document.getElementById("cookie-law-info-bar"), document.getElementById("cookie-law-info-again"), @@ -113,6 +118,7 @@ export const removable = Array.from([ ...document.getElementsByClassName("cookiesms"), document.getElementById("cp-dialog"), document.getElementById("cp-overlay"), + document.getElementById("gdpr-banner"), ...document.getElementsByClassName("fot-fixd"), document.getElementById("global-cookie-message"), ...document.getElementsByClassName("grp-header__cookiedisclaimer"), @@ -120,7 +126,8 @@ export const removable = Array.from([ ...document.getElementsByClassName("js-cookies"), document.getElementById("js-gdpr-consent-banner"), ...document.getElementsByClassName("m-privacy-consent"), - ...document.getElementsByClassName("nd t fk vz ai wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr li ws wt wu wv ww wx wy wz xa xb xc xd"), + ...document.getElementsByClassName("modal-backdrop"), + document.getElementById("modal-consent"), ...document.getElementsByClassName("pam"), document.getElementById("privacy-consent"), document.getElementById("scms-cc-cookie-bar"), diff --git a/src/js/modules/script.js b/src/js/modules/script.js index 4aac515..40cc7d0 100644 --- a/src/js/modules/script.js +++ b/src/js/modules/script.js @@ -1,56 +1,40 @@ -import { notRemovable, removable } from './elements.js'; +import { getNotRemovableElements, getRemovableElements } from './helpers.js'; // Observer const observer = new MutationObserver((mutations, observer) => { - mutations.forEach(mutation => { - if (mutation.type === 'childList') { - observer.disconnect(); - doMagic(); - observe(); - } + mutations.forEach(() => { + observer.disconnect(); + doMagic(); + observe(); }); }); // Remover const doMagic = () => { - // Remove irritating styles - notRemovable.forEach(element => { - // PLO - element.classList.remove("plu-no-scroll"); - // Quantcast - element.classList.remove("qc-cmp-ui-showing"); - // Miscellaneous - element.classList.remove("_2LLC6zrbk-vsnF0seit6vi"); - element.classList.remove("gdpr"); - element.classList.remove("noScroll"); - }); + // Getting elements + const notRemovable = getNotRemovableElements(document) + .filter(element => !!element); + const removable = getRemovableElements(document) + .filter(element => !!element); - // Remove irritating elements - removable.forEach(element => { - if (!!element) { - const exists = - document.getElementById(element.id) - || document.getElementsByName(element.name).length > 0 - || document.getElementsByClassName(element.className).length > 0; + // Remove irritating all removable elements + removable.forEach(element => { + const exists = + document.getElementById(element.id) + || document.getElementsByName(element.name).length > 0 + || document.getElementsByClassName(element.className).length > 0; - if (exists) element.remove(); - }; - }); + if (exists) element.remove(); + }); - // Fix stucked pages - if (document.body.style) { - document.body.style.removeProperty("overflow"); - document.body.style.removeProperty("overflowX"); - document.body.style.removeProperty("overflowY"); - }; + // Remove irritating styles from elements not removable + notRemovable.forEach(element => element.style.setProperty('overflow', 'unset', 'important')); }; // Observer starts observe when call this function const observe = () => { observer.observe(document.body, { - childList: true, - subtree: true, - //... + attributes: true, }); };