首页 > 解决方案 > 使用 GreaseMonkey 从网站隐藏 DIV 的问题

问题描述

有一个网站,如果没有广告,您将无法查看内容。我已经尝试过 Anti-Ad Blocker,但脚本使所有链接都无法使用。

我尝试编写 Greasemonkey 脚本来手动隐藏这几个广告,但到目前为止它不起作用(我不知道为什么)。

// ==UserScript==
// @name     Hide annoying shinden ads
// @include  https://shinden.pl/*
// @grant    GM_addStyle
// ==/UserScript==



var div = document.getElementById("banner-outer");
if (div) {
    div.style.display = "none";
}

我要删除的元素:

<div id="banner-inner" style="transform: matrix(0.99999, 0.00087, -0.00087, 0.99999, 0, 0);">
            ...
        </div>

有时也会随机出现不同的 div,从而阻止整个站点:

<div style="position: fixed; display: block; width: 100%; height: 100%; inset: 0px; background-color: rgba(0, 0, 0, 0); z-index: 300000;"></div>

我不知道如何删除它,因为它没有 ID。

PS网站如下:https ://shinden.pl/

标签: htmlgreasemonkey-4

解决方案


您可以使用以下代码从网页中删除 Div。

如果随机 Div 在“banner-inner Div”内创建,则上述解决方案有助于创建此类 Div。

如果它在外部创建,则必须通过可用属性(如 width、hieght、z-index)以及 Div 的祖父(具有 ID)来查找和删除创建的 div。

// ==UserScript==
// @name     RemoveDiv
// @version  1.0
// @grant    none
// ==/UserScript==

var toBeRemoved = document.getElementById('banner-inner');
if (toBeRemoved) {
    toBeRemoved.parentNode.removeChild(toBeRemoved);
}

推荐阅读