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

时间:2018-01-26 13:55:06

标签: javascript greasemonkey-4

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

我尝试过this script,但没有成功 我要删除的(“付费”)内容如下所示:

<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>
        ...

我可以使用以下元素将“付费内容”与其他内容区分开来:

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

我想删除链接网站上的每个“付费内容”(“Sponzorirana vijest”)部分。

3 个答案:

答案 0 :(得分:1)

该内容似乎是静态。所以只需像这样利用页面的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+有严重的缺陷。

答案 1 :(得分:0)

这是可行的脚本,只需将其粘贴到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,它选择最接近包含字符串 Sponzorirana vijest 的锚标记的类 news 的节点,当选择 display:none 时应用

答案 2 :(得分:0)

我已经在uBlock中创建了此自定义过滤器,它的工作原理就像一个魅力:

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