返回首頁 

Greasy Fork is available in English.

Anti-Cookies Consent

Remove Cookies Consent Modal Windows

// ==UserScript==// @name            Anti-Cookies Consent// @name:es         Anti-Consentimiento de Cookies// @namespace       Anti-Cookies-Consent// @version         1.2.1// @description     Remove Cookies Consent Modal Windows// @description:es  Eliminar los mensajes de consentimiento de cookies de los sitios web// @author          Elwyn// @license         MIT// @homepage        https://github.com/WakeupNeo33/Anti-Cookies-Consent-userscript// @supportURL      https://github.com/WakeupNeo33/Anti-Cookies-Consent-userscript/issues// @iconURL         https://github.com/WakeupNeo33/Anti-Cookies-Consent-userscript/raw/main/icon.png// @include         *// @exclude         https://*mega.nz/*// @noframes// @run-at          document-start// @grant           unsafeWindow// ==/UserScript==(function() {var enable_debug = false;// Pattern to Searchvar cookies_pattern = /cookies/i;var tagNames_pattern = /div|p|section|iframe/i;document.html = document.getElementsByTagName('html')[0];// HELPER Functions//-----------------function debug( msg, val ) {if ( !enable_debug ) return;console.log( '%c ANTI-COOKIES CONSENT','color: white; background-color: blue', msg );if ( val !== undefined ){if ( val.nodeType === Node.ELEMENT_NODE ) {console.log ( 'TagName: ' + val.nodeName + ' | Id: ' + val.id + ' | Class: ' + val.classList );} else {console.log ( val );}}}function addStyle(str) {var style = document.createElement('style');style.innerHTML = str;document.body.appendChild( style );}/* Thanks to RuiGuilherme  */const enableContextMenu = () => {window.addEventListener('contextmenu', (event) => {event.stopPropagation();event.stopImmediatePropagation();}, true);}function isElementBlur( el ){var style = window.getComputedStyle( el );var filter = style.getPropertyValue( 'filter' );return ( (/blur/i).test( filter ) );}function isElementFixed( el ){var style = window.getComputedStyle( el );return ( style.getPropertyValue( 'position' ) == 'fixed' );}function isOverflowHidden( el ){var style = window.getComputedStyle( el );return ( style.getPropertyValue( 'overflow' ) == 'hidden' );}function isNotHidden( el ){var style = window.getComputedStyle( el );return ( style.getPropertyValue( 'display' ) != 'none' );}function isFullWindows( el ){var style = window.getComputedStyle( el );var top = parseInt( style.getPropertyValue( 'top' ) );var left = parseInt( style.getPropertyValue( 'left' ) );var right = parseInt( style.getPropertyValue( 'right' ) );var bottom = parseInt( style.getPropertyValue( 'bottom' ) );return ( el.offsetHeight > window.innerHeight - 50 && el.offsetWidth > window.innerWidth - 20 ) || (top == 0 && left == 0 && right == 0 && bottom == 0);}function isBlackoutModal( el ){var style = window.getComputedStyle( el );var position = style.getPropertyValue( 'position' );var zindex = style.getPropertyValue( 'z-index' );if ( isNaN( zindex ) ) zindex = 0;return parseInt( zindex ) > 1 && position == 'fixed' && isFullWindows( el );}function isChildrenFullWindows( el ){if ( el.hasChildNodes() == false ) return;var childFound = false;Array.prototype.forEach.call( el.childNodes, ( child ) => {// skip unusual html tag namesif ( !tagNames_pattern.test ( child.nodeName ) ) return;// Check if some child element is full size windowif(isFullWindows( child )){childFound = true;}});return childFound;}function isModalWindows( el ){return (isElementFixed( el ) && ( cookies_pattern.test( el.textContent ) || el.nodeName == 'IFRAME' ) );}function unblockScroll(){if ( isOverflowHidden( document.body ) ){document.body.setAttribute('style', (document.body.getAttribute('style')||'').replace('overflow: visible !important;','') + 'overflow: visible !important;');document.body.classList.add( 'scroll_on' );debug( 'Scroll Unblocked from BODY tag');}if ( isOverflowHidden( document.html ) ){document.html.setAttribute('style', (document.html.getAttribute('style')||'').replace('overflow: visible !important;','') + 'overflow: visible !important;');document.html.classList.add( 'scroll_on' );debug( 'Scroll Unblocked from HTML tag ');}}// Main Functionsfunction removeBackStuff(){document.querySelectorAll( 'div,section' ).forEach( ( el ) => {if ( tagNames_pattern.test( el.nodeName ) ){if ( isBlackoutModal( el ) ){debug( 'Blackout Modal Detected & Removed: ', el);el.setAttribute('style', (el.getAttribute('style')||'') + ';display: none !important;');el.classList.add( 'hide_modal' );}else if ( isElementBlur( el ) ){debug( 'Blur Element Detected & Deblurred: ', el);el.classList.add( 'un_blur' );}}});setTimeout( unblockScroll, 500);}function checkModals(){debug( 'Checking Modals' );var modalFound = false;// Only check common used html tag namesdocument.querySelectorAll( 'div,section,iframe' ).forEach( ( el ) => {if ( tagNames_pattern.test( el.nodeName ) ){if ( isModalWindows( el ) && isNotHidden( el ) ){modalFound = true;removeModal( el );}}});if ( modalFound ){setTimeout( removeBackStuff, 100);}}function removeModal( el, isNew ){// Skip the already processed elementsif ( /hide_modal/.test( el.classList ) ) {return;}// Hide the element through a high priority incorporating the sentence in the style parameterel.setAttribute('style', (el.getAttribute('style')||'') + ';display: none !important;');// Also, add a class name to the element// (in case there is a script that eliminates the previous statement)el.classList.add( 'hide_modal' );debug( 'Modal Detected & Removed: ', el);if ( isNew ){setTimeout( removeBackStuff, 100);}}window.addEventListener('DOMContentLoaded', (event) => {// Mutation Observervar MutationObserver = window.MutationObserver || window.WebKitMutationObserver;// Create an observer instancevar observer = new MutationObserver( (mutations) => {mutations.forEach( (mutation) => {if ( mutation.addedNodes.length ) {Array.prototype.forEach.call( mutation.addedNodes, ( el ) => {// skip unusual html tag namesif ( !tagNames_pattern.test ( el.nodeName ) ) return;// Check if element is a Modal Windowsif ( isModalWindows( el ) && isNotHidden( el ) ){debug( 'OnMutationObserver: ', el );removeModal( el, true );}});}});});// Observerobserver.observe(document, {childList : true,subtree : true});// enable context menu againenableContextMenu();addStyle( 'body.scroll_on, html.scroll_on { overflow: visible !important; } .hide_modal { display: none !important; } .un_blur { -webkit-filter: blur(0px) !important; filter: blur(0px) !important; }' );// First checkcheckModals();});window.addEventListener('load', (event) => {setTimeout( function() {checkModals();}, 100 );});})();