refactor: to use es6 modules

This commit is contained in:
wanhose 2020-05-16 16:31:00 +02:00
parent 312fad7c4d
commit 8939d1243d
9 changed files with 202 additions and 161 deletions

View File

@ -1,158 +0,0 @@
if (typeof chrome.app.isInstalled !== 'undefined') {
// Observer
const observer = new MutationObserver((mutations, observer) => {
mutations.forEach(mutation => {
if (mutation.type === 'childList') {
observer.disconnect();
doMagic();
observe();
}
});
});
// Remover
const doMagic = () => {
const notRemovableElements = Array.from([
// PLO
...document.getElementsByClassName("plu-no-scroll"),
// Quantcast
...document.getElementsByClassName("qc-cmp-ui-showing"),
// Miscellaneous
...document.getElementsByClassName("_2LLC6zrbk-vsnF0seit6vi"),
...document.getElementsByClassName("gdpr"),
]);
const removableElements = Array.from([
// BLQ
document.getElementById("blq-global"),
// CC
...document.getElementsByClassName("cc-banner"),
...document.getElementsByClassName("cc_banner"),
...document.getElementsByClassName("cc-bottom"),
...document.getElementsByClassName("cc_container"),
...document.getElementsByClassName("cc-theme-block"),
...document.getElementsByClassName("cc-type-info"),
...document.getElementsByClassName("cc-window"),
// Civic
document.getElementById("ccc"),
document.getElementById("ccc-notify"),
document.getElementById("ccc-overlay"),
// CKY
document.getElementById('cky-consent'),
...document.getElementsByClassName("cky-consent-bar"),
// Consent Management Provider
document.getElementById("cmpbox"),
document.getElementById("cmpbox2"),
document.getElementById("cmpContainer"),
// Cookie-Script
document.getElementById("cookiescript_injected"),
// cookieBAR
document.getElementById("cookie-bar"),
document.getElementById("cookie-bar-prompt"),
// crowdy.ai
document.getElementById("crowdy-flyout"),
document.getElementById("crowdy-privacy-snippet"),
document.getElementById("crowdy-privacy-widget"),
document.getElementById("crowdy-privacy-widget-background"),
// eni.com
document.getElementById("eni-cookie-banner"),
// ENS
document.getElementById("ensNotifyBanner"),
// ePrivacy
document.getElementById("ePrivacyDisclaimer"),
// Facebook
...document.getElementsByClassName("fbPageBanner"),
// Google
document.getElementById("cookie-statement"),
// HS
document.getElementById("hs-eu-cookie-confirmation"),
// iubenda
document.getElementById("iubenda-cs-banner"),
...document.getElementsByClassName("iubenda-cs-bottom"),
...document.getElementsByClassName("iubenda-cs-container"),
...document.getElementsByClassName("iubenda-cs-default"),
// Moove
document.getElementById("moove_gdpr_cookie_info_bar"),
// NHS
document.getElementById("nhsuk-cookie-banner"),
// OneTrust
document.getElementById("onetrust-consent-sdk"),
// Optanon
...document.getElementsByClassName("optanon-alert-box-wrapper"),
// PLO
...document.getElementsByClassName("plo-cookie-overlay"),
...document.getElementsByClassName("plo-overlay"),
// Quantcast
...document.getElementsByClassName("qc-cmp-ui-container"),
// Termly
document.getElementById("consent"),
// Wordpress
document.getElementById("catapult-cookie-bar"),
// Miscellaneous
...document.getElementsByClassName("_1ouSF3xnwUjIOquxopuxSZ"),
...document.getElementsByClassName("announcements"),
...document.getElementsByClassName("cc-cookies"),
document.getElementById("cconsent-bar"),
document.getElementById("cookie-consent-banner"),
document.getElementById("cookie-div"),
document.getElementById("cookie-law-info-bar"),
document.getElementById("cookie-law-info-again"),
document.getElementById("cookie-notice"),
...document.getElementsByClassName("cookie-permission"),
document.getElementById("cookie-policy"),
document.getElementById("cookie-policy-consent"),
document.getElementById("cookie1"),
...document.getElementsByClassName("cookiebar"),
document.getElementById("cookieLayer"),
document.getElementById("cookieNotice"),
document.getElementById("cookieNotificationBannerWrapper"),
...document.getElementsByClassName("cookies-notice"),
...document.getElementsByClassName("cookies"),
...document.getElementsByClassName("cookiesms"),
document.getElementById("cp-dialog"),
document.getElementById("cp-overlay"),
...document.getElementsByClassName("fot-fixd"),
document.getElementById("global-cookie-message"),
...document.getElementsByClassName("grp-header__cookiedisclaimer"),
...document.getElementsByClassName("js-cookies"),
document.getElementById("js-gdpr-consent-banner"),
...document.getElementsByClassName("pam"),
document.getElementById("sd-cmp"),
...document.getElementsByClassName("security-policy"),
document.getElementById("sliding-popup"),
document.getElementById("softMessages-list"),
...document.getElementsByClassName("softMessages-list"),
document.getElementById("u_0_1"),
]);
notRemovableElements.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");
});
// Fix stucked pages
document.body.style.overflow = '';
document.body.style.overflowX = '';
document.body.style.overflowY = '';
removableElements.forEach(element => !!element && element.remove());
};
// Observer starts observe when call this function
const observe = () => {
observer.observe(document.body, {
childList: true,
subtree: true,
//...
});
};
// Then...
doMagic();
observe();
}

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

14
src/js/content.js Normal file
View File

@ -0,0 +1,14 @@
'use strict';
if (!!window.chrome && navigator.vendor.includes("Google")) {
// Get document head
const head = document.head || document.getElementsByTagName('head')[0];
// Create logic script
const script = document.createElement("script");
script.setAttribute("src", chrome.runtime.getURL("modules/script.js"));
script.setAttribute("type", "module");
// Inject logic script
head.appendChild(script);
};

134
src/js/modules/elements.js Normal file
View File

@ -0,0 +1,134 @@
export const notRemovable = Array.from([
// PLO
...document.getElementsByClassName("plu-no-scroll"),
// Quantcast
...document.getElementsByClassName("qc-cmp-ui-showing"),
// Miscellaneous
...document.getElementsByClassName("_2LLC6zrbk-vsnF0seit6vi"),
...document.getElementsByClassName("gdpr"),
...document.getElementsByClassName("noScroll"),
]);
export const removable = Array.from([
// BLQ
document.getElementById("blq-global"),
// CC
...document.getElementsByClassName("cc-banner"),
...document.getElementsByClassName("cc_banner"),
...document.getElementsByClassName("cc-bottom"),
...document.getElementsByClassName("cc_container"),
...document.getElementsByClassName("cc-theme-block"),
...document.getElementsByClassName("cc-type-info"),
...document.getElementsByClassName("cc-window"),
// Civic
document.getElementById("ccc"),
document.getElementById("ccc-notify"),
document.getElementById("ccc-overlay"),
// CKY
document.getElementById('cky-consent'),
...document.getElementsByClassName("cky-consent-bar"),
// Clym
...document.getElementsByClassName("clym-widget"),
document.getElementById("clym-widget-privacy-frame"),
// Consent Management Provider
document.getElementById("cmpbox"),
document.getElementById("cmpbox2"),
document.getElementById("cmpContainer"),
// Cookie-Script
document.getElementById("cookiescript_injected"),
// cookieBAR
document.getElementById("cookie-bar"),
document.getElementById("cookie-bar-prompt"),
// Cookie Information
document.getElementById("coiOverlay"),
// crowdy.ai
document.getElementById("crowdy-flyout"),
document.getElementById("crowdy-privacy-snippet"),
document.getElementById("crowdy-privacy-widget"),
document.getElementById("crowdy-privacy-widget-background"),
// Cybot
...document.getElementsByClassName("CybotCookiebotDialog"),
...document.getElementsByName("CybotCookiebotDialog"),
// eni.com
document.getElementById("eni-cookie-banner"),
// ENS
document.getElementById("ensNotifyBanner"),
// ePrivacy
document.getElementById("ePrivacyDisclaimer"),
// Facebook
...document.getElementsByClassName("fbPageBanner"),
// Google
document.getElementById("cookie-statement"),
// HS
document.getElementById("hs-eu-cookie-confirmation"),
// iubenda
document.getElementById("iubenda-cs-banner"),
...document.getElementsByClassName("iubenda-cs-bottom"),
...document.getElementsByClassName("iubenda-cs-container"),
...document.getElementsByClassName("iubenda-cs-default"),
// Moove
document.getElementById("moove_gdpr_cookie_info_bar"),
// NHS
document.getElementById("nhsuk-cookie-banner"),
// OneTrust
document.getElementById("onetrust-consent-sdk"),
// Optanon
...document.getElementsByClassName("optanon-alert-box-wrapper"),
// PLO
...document.getElementsByClassName("plo-cookie-overlay"),
...document.getElementsByClassName("plo-overlay"),
// Quantcast
...document.getElementsByClassName("qc-cmp-ui-container"),
// Seers
document.getElementById("seers-cx-banner"),
// Termly
document.getElementById("consent"),
// UniConsent
document.getElementById("uniccmp"),
// Wordpress
document.getElementById("catapult-cookie-bar"),
// Miscellaneous
...document.getElementsByClassName("_1ouSF3xnwUjIOquxopuxSZ"),
...document.getElementsByClassName("announcements"),
...document.getElementsByClassName("cc-cookies"),
document.getElementById("cconsent-bar"),
document.getElementById("cookie-consent-banner"),
...document.getElementsByClassName("cookiedisclaimer"),
...document.getElementsByClassName("cookie_box"),
document.getElementById("cookie-div"),
document.getElementById("cookie-law-info-bar"),
document.getElementById("cookie-law-info-again"),
document.getElementById("cookie-notice"),
...document.getElementsByClassName("cookie-permission"),
document.getElementById("cookie-policy"),
document.getElementById("cookie-policy-consent"),
document.getElementById("cookie1"),
...document.getElementsByClassName("cookiebar"),
document.getElementById("cookieLayer"),
document.getElementById("cookieNotice"),
document.getElementById("cookieNotificationBannerWrapper"),
...document.getElementsByClassName("cookies-notice"),
...document.getElementsByClassName("cookies"),
...document.getElementsByClassName("cookies-alert"),
...document.getElementsByClassName("cookiesms"),
document.getElementById("cp-dialog"),
document.getElementById("cp-overlay"),
...document.getElementsByClassName("fot-fixd"),
document.getElementById("global-cookie-message"),
...document.getElementsByClassName("grp-header__cookiedisclaimer"),
document.getElementById("iFrame1"),
...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("pam"),
document.getElementById("privacy-consent"),
document.getElementById("scms-cc-cookie-bar"),
...document.getElementsByClassName("scms-cookie-control"),
document.getElementById("sd-cmp"),
...document.getElementsByClassName("security-policy"),
document.getElementById("sliding-popup"),
document.getElementById("softMessages-list"),
...document.getElementsByClassName("softMessages-list"),
document.getElementById("u_0_1"),
]);

50
src/js/modules/script.js Normal file
View File

@ -0,0 +1,50 @@
import { notRemovable, removable } from 'js/modules/elements.js';
// Observer
const observer = new MutationObserver((mutations, observer) => {
mutations.forEach(mutation => {
if (mutation.type === 'childList') {
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");
});
// Remove irritating elements
removable.forEach(element => !!element && element.remove());
// Fix stucked pages
if (document.body.style) {
document.body.style.removeProperty("overflow");
document.body.style.removeProperty("overflowX");
document.body.style.removeProperty("overflowY");
};
};
// Observer starts observe when call this function
const observe = () => {
observer.observe(document.body, {
childList: true,
subtree: true,
//...
});
};
// Then...
doMagic();
observe();

View File

@ -1,6 +1,6 @@
{
"name": "No More Cookies",
"version": "1.7",
"name": "I Do Not Consent",
"version": "1.8",
"description": "A Chrome extension that allows you to remove cookie consent dialogs automatically",
"content_scripts": [
{
@ -16,7 +16,8 @@
},
"page_action": {
"default_icon": "assets/icon32.png",
"default_title": "No More Cookies"
"default_title": "I Do Not Consent"
},
"web_accessible_resources": ["js/modules/*"],
"manifest_version": 2
}