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",
|
||||
"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
|
||||
}
|