适用于 Google Chrome(或 Firefox)的手动反广告扩展程序

适用于 Google Chrome(或 Firefox)的手动反广告扩展程序

我知道 AdBlock 扩展。但总的来说,我不想屏蔽所有广告。我想要一个扩展,它允许我按住 Ctrl 键并单击(或使用另一个快捷键单击)令人不安的广告,并智能地将其从我正在浏览的页面中删除。

我知道也可以这样做,方法是右键单击页面,打开检查面板,单击循环工具,单击添加,转到 DOM 并突出显示<object>,然后按 Delete。但是它太长了。

我记得曾经读过一篇关于 jquery 的文章,它以一种惊人的方式将页面上的元素吹走(不幸的是不知道它的名字是什么)。也许像这样的东西可以做到。任何东西,越简单越好,但不是自动的,只允许我点击并离开。(事实上,它可以允许删除页面上的任何东西,而不仅仅是广告)

答案1

你可以通过以下方式实现广告拦截器

  • 为了避免默认情况下阻止任何内容,请取消选中过滤列表

  • 要阻止特定广告,请右键单击它并选择AdBlock -> Block this ad

这样做的好处是可以记住你的行为。

如果您不想使用 AdBlock,您可以尝试这个简单的用户脚本:

// ==UserScript==
// @name          NukeIt
// @description   Nukes HTML elements with a single click.
// ==/UserScript==

var nukeItSetup = function() {
    function nukeIt(what) {
        if(!event.ctrlKey)
            return;
        event.preventDefault();
        var now = Number(new Date());
        if(now < nukeItTimer)
            return;
        nukeItTimer = now + 100;
        if(event.altKey) {
            if(nukeItElements.length)
                nukeItElements.pop().style.display = nukeItProperties.pop();
        }
        else {
            nukeItElements.push(what);
            nukeItProperties.push(what.style.display);
            what.style.display = 'none';
        }   
    }
    var all = document.getElementsByTagName('*');
    for(var i = 0, j = all.length; i < j; i++)
        all[i].addEventListener('contextmenu', function(){nukeIt(this)});
}

var script = document.createElement('script');
script.innerHTML = 'var nukeItTimer = 0, nukeItElements = [], nukeItProperties = []; (' + nukeItSetup.toString() + ')();';
document.body.appendChild(script);

如何使用:

  • 要安装,请(临时)将代码保存为nuke-it.user.js,将文件拖放到 Chrome 中,然后Continue在询问是否要安装时单击。

  • 要隐藏 HTML 元素,请在按住 的同时右键单击它Ctrl

  • 要取消隐藏已隐藏的元素(以相反的顺序),请在按下Ctrl+ 的同时右键单击任意位置Alt

相关内容