Javascript 使用用户脚本阻止一个或多个网站中的所有广告

Javascript 使用用户脚本阻止一个或多个网站中的所有广告,javascript,ads,greasemonkey,userscripts,adblock,Javascript,Ads,Greasemonkey,Userscripts,Adblock,我使用Google Chrome及其常见的userscript manager Tampermonkey,其中我有一个网站列表: // ==UserScript== // @name blocksite // @match *://*.site1.com/* // @match *://*.site2.com/* // ==/UserScript== 我希望阻止集团所有网站上的所有广告。 我的问题是,我甚至不知道如何开始尝试这样做 在谷歌搜索以下问题

我使用Google Chrome及其常见的userscript manager Tampermonkey,其中我有一个网站列表:

// ==UserScript==
// @name         blocksite
// @match        *://*.site1.com/*
// @match        *://*.site2.com/*
// ==/UserScript==
我希望阻止集团所有网站上的所有广告。
我的问题是,我甚至不知道如何开始尝试这样做
在谷歌搜索以下问题时,我没有找到明确的解释或教程:

广告拦截器是如何工作的

如何阻止Greasemonkey中的网站

我还试图下载看似“无辜”的Chrome扩展,但在它的文件夹中,我发现了大量JavaScript文件(其中许多超过500行),并感到“迷失”试图找出从何处以及如何开始研究源代码(什么与编写个人使用的小型阻止程序脚本相关和无关)这一复杂性的原因是什么

假设在最新的ECMAScript版本(10)中,使用userscript管理器阻止广告是一项简单的任务,作为一名JavaScript业余爱好者,我想问:

如何使用userscript阻止一个或多个网站中的所有广告?

我认为最好使用扩展运行时,因为monkey的级别太高,太晚了,无法停止广告加载。你可以用用户脚本隐藏广告,我自己在一些顽固的情况下也会这样做,但很难或不可能阻止它们。广告只是普通的DOM东西,而不是一些单独的实体,ES版本与此没有任何关系。你必须检查很多东西,比如图片/iframe URL中的单词,典型的横幅图片大小,等等。一般来说,这是一个非常宽泛的话题,但如果你运气好,并且你的广告有一个明显的信号,你可以使用用户脚本删除它们。我们不能帮助你,虽然没有看到实际的网站或一个适当的网站。另外,用户脚本管理器不能阻止任何广告,他们只管理/安装/运行用户脚本。@wOxxOm例如mako.co.il;我只想说,我从未声称或打算声称用户脚本管理者自己屏蔽网站;如果你愿意,请分享问题指出的地方,我可能会进行编辑。你已经提到过两次:“使用userscript管理器阻止广告[…]”和“使用userscript管理器阻止所有广告?”我猜你的意思是“使用userscript”。对于该站点,您可以使用MutationObserver来检测何时将元素添加到
document.body
,如果它们符合您将通过检查devtools中的DOM推断出的各种条件,则可以将其删除。很抱歉使用了不正确的措辞-实际上,我的意思是“使用userscript”。感谢您提供有用的评论,指出观察突变,如果它们符合一个或多个标准,请删除它们。