這個給出的方法郵政效果很好,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();
})();