Как сделать так, чтобы Chrome автоматически удалялэлемент?

Как сделать так, чтобы Chrome автоматически удалялэлемент?

Подход, заданный этимпочтахорошо работает, что хром автоматически удаляет заголовок html. Хотя это не работает при работе с баннерами.

вот html код для баннера

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

Вот код, работающий в 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]);
})();

Что я упускаю?

решение1

Должен быть только один элемент с таким идентификатором, вам следует использовать getElementById (не во множественном числе, его не существует)

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

И в зависимости от версии браузера/javascript вы можете просто выполнить elems1.remove(), чтобы удалить его.

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

Полный код будет выглядеть примерно так:

// ==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();
})();

Связанный контент