如何讓chrome自動刪除元素?

如何讓chrome自動刪除元素?

這個給出的方法郵政效果很好,chrome 會自動刪除 html header。儘管在處理橫幅時它會失敗。

這是橫幅的 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

應該只有一個具有該 Id 的元素,您應該使用 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();
})();

相關內容