Cómo hacer que Chrome elimine automáticamente un¿elemento?

Cómo hacer que Chrome elimine automáticamente un¿elemento?

El enfoque dado por estecorreoFunciona bien porque Chrome elimina automáticamente el encabezado html. Aunque falla cuando se trata de banners.

aquí está el código html para el banner

<div id="js-gdpr-consent-banner">

Aquí está el código que se ejecuta en TamperMonkey.

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @grant        none
// @include        http://*
// @include        https://*
// ==/UserScript==

(function() {
    'use strict';

    var elems = document.getElementsByTagName('header');
    elems[0].parentNode.removeChild(elems[0]);
    var elems1 = document.getElementsById('js-gdpr-consent-banner');
    elems1[0].parentNode.removeChild(elems1[0]);
})();

¿Qué me estoy perdiendo?

Respuesta1

Debería haber solo un elemento con ese Id, deberías usar getElementById (no pluralizado, no existe)

https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById

Y dependiendo de la versión del navegador/javascript, puedes simplemente hacer elems1.remove() para eliminarlo.

https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove

El código completo sería algo como

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @grant        none
// @include        http://*
// @include        https://*
// ==/UserScript==

(function() {
    'use strict';

    var elems = document.getElementsByTagName('header');
    elems.item(0).remove();
    var elems1 = document.getElementById('js-gdpr-consent-banner');
    elems1.remove();
})();

información relacionada