如何使用 Greasemonkey 有选择地从网站中删除内容?

How to use Greasemonkey to selectively remove content from a website?

我尝试使用 uBlock originGreasemonkey 和 Anti-Adblock Killer 从 this website 中删除内容(付费内容)脚本。

我试过运行this script但没有成功。
我要删除的 ("paid") 内容如下所示:

<div class="news" info="398825">
    <div class="normal" ...>
        <div class="supertitle">
            <a href="http://www.monitor.hr/marketing/sponzorirana.html" target="_blank">Sponzorirana vijest</a>
        </div>
        ...

我可以使用此元素将 "paid content" 与其余内容区分开来:

<a href="http://www.monitor.hr/marketing/sponzorirana.html" target="_blank">Sponzorirana vijest</a>

我想从链接网站中删除每个 "paid content" ("Sponzorirana vijest") 部分。

这是有效的脚本,只需将其粘贴到 tampermonkey 或 greasemonkey 中即可。

// ==UserScript==
// @name         Disable for sponsored news
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://www.monitor.hr/
// @grant        none
// ==/UserScript==

(function() {
    $("a:contains('Sponzorirana vijest')").closest('.news').css('display', 'none');
})();

脚本解释。 @match 显示在哪个网站上应用它。 函数部分是jquery,选择classnews的节点最接近包含字符串Sponzorirana vijest的锚标签, when selected display: none is applied.

该内容似乎是 静态的。因此,只需像这样利用页面的 jQuery:

// ==UserScript==
// @name     _Remove sponsored content
// @match    *://www.monitor.hr/*
// @grant    none
// ==/UserScript==

$(".supertitle > a[href*='marketing/sponzorirana']").closest (".news").remove ();


如果动态添加更多这些块,请使用waitForKeyElements(),如this answer所示。像这样的东西(在 GM4 中未经测试):

// ==UserScript==
// @name     _Remove sponsored content
// @match    *://www.monitor.hr/*
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    none
// ==/UserScript==
waitForKeyElements (".supertitle > a[href*='marketing/sponzorirana']", removeNewsNode);

function removeNewsNode (jNode) {
    jNode.closest (".news").remove ();
}



最后,根据 Greasemonkey 自己的开发人员的意见,切换到 Tampermonkey 或 Violentmonkey。 Greasemonkey 4+存在严重缺陷

我在 uBlock 中创建了这个自定义过滤器,它非常有用:

www.monitor.hr##.tag-sponzorirana-vijest.category-vijest