我知道 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。