From 74120d382a8ed01059f359a999b8f1a3580ebec9 Mon Sep 17 00:00:00 2001 From: wanhose Date: Fri, 24 Apr 2020 19:42:06 +0200 Subject: [PATCH] feat(content): add support for onetrust --- js/content.js | 75 +++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/js/content.js b/js/content.js index 29b4f8f..a98bb6f 100644 --- a/js/content.js +++ b/js/content.js @@ -1,38 +1,43 @@ if (typeof chrome.app.isInstalled !== 'undefined') { - // Observer - const observer = new MutationObserver((mutations, observer) => { - for (let mutation of mutations) { - if (mutation.type === 'childList') { - observer.disconnect(); - doMagic(); - observe(); - } + // Observer + const observer = new MutationObserver((mutations, observer) => { + for (let mutation of mutations) { + if (mutation.type === 'childList') { + observer.disconnect(); + doMagic(); + observe(); } + } + }); + + // Inject buttons + const doMagic = () => { + // Quantcast + const notRemovableElements = Array.from(document.getElementsByClassName("qc-cmp-ui-showing")); + notRemovableElements.forEach(element => { + element.classList.remove("qc-cmp-ui-showing"); }); - - // Inject buttons - const doMagic = () => { - const notRemovableElements = Array.from(document.getElementsByClassName("qc-cmp-ui-showing")); - notRemovableElements.forEach(element => { - element.classList.remove("qc-cmp-ui-showing"); - }); - - const removableElements = Array.from(document.getElementsByClassName("qc-cmp-ui-container")); - removableElements.forEach(element => { - element.remove(); - }); - }; - - // Observer starts observe when call this function - const observe = () => { - observer.observe(document.body, { - childList: true, - subtree: true, - //... - }); - }; - - // Then... - doMagic(); - observe(); - } \ No newline at end of file + + const removableElements = Array.from(document.getElementsByClassName("qc-cmp-ui-container")); + removableElements.forEach(element => { + element.remove(); + }); + + // OneTrust + const removableElement = document.getElementById("onetrust-consent-sdk"); + if (!!removableElement) removableElement.remove(); + }; + + // Observer starts observe when call this function + const observe = () => { + observer.observe(document.body, { + childList: true, + subtree: true, + //... + }); + }; + + // Then... + doMagic(); + observe(); +} \ No newline at end of file