refactor: to use es6 modules
158
js/content.js
@ -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();
|
|
||||||
}
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
14
src/js/content.js
Normal 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
@ -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
@ -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();
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "No More Cookies",
|
"name": "I Do Not Consent",
|
||||||
"version": "1.7",
|
"version": "1.8",
|
||||||
"description": "A Chrome extension that allows you to remove cookie consent dialogs automatically",
|
"description": "A Chrome extension that allows you to remove cookie consent dialogs automatically",
|
||||||
"content_scripts": [
|
"content_scripts": [
|
||||||
{
|
{
|
||||||
@ -16,7 +16,8 @@
|
|||||||
},
|
},
|
||||||
"page_action": {
|
"page_action": {
|
||||||
"default_icon": "assets/icon32.png",
|
"default_icon": "assets/icon32.png",
|
||||||
"default_title": "No More Cookies"
|
"default_title": "I Do Not Consent"
|
||||||
},
|
},
|
||||||
|
"web_accessible_resources": ["js/modules/*"],
|
||||||
"manifest_version": 2
|
"manifest_version": 2
|
||||||
}
|
}
|