我正在查看有关如何使用 ABP 阻止元素的指南:https://adblockplus.org/en/filters#elemhide
举个例子,我进入选项并添加了一个过滤器
blankmediagames.com/TownOfSalem/###fb-root
fb-root
从理论上讲,这应该可以阻止 id包含几个占用大量内存但不需要的 iframe 的div ,并且该规则只适用于该网站https://blankmediagames.com/TownOfSalem/
(塞勒姆镇游戏的网站)。
虽然我创建了规则,但我没有看到元素被阻止。当我在 Chrome 中打开开发者工具时,它仍然在那里,我还可以在 Chrome 的任务管理器中看到子框架及其内存使用情况(显示为Subframe: https://facebook.com/
并使用 ~65K)。
我肯定做错了什么。我想找到一种方法来避免每次到这里时都必须手动结束子帧进程。我是否遗漏了一些显而易见的东西?
答案1
元素隐藏过滤器只能限制在域中,而不能限制在域中的特定 URL 中。以下是应该隐藏该页面上的元素的过滤器:
blankmediagames.com###fb-root
但是,如果你想要阻止整个框架,元素隐藏过滤器将无济于事。为此,你需要创建一个阻止过滤器,例如:
||facebook.com^$subdocument,domain=blankmediagames.com
该过滤器会阻止 blankmediagames.com 上任何包含来自 facebook.com 的内容的子框架。
或者,您可以在 Adblock Plus 设置页面中启用“阻止社交媒体图标跟踪”选项(或其他广告拦截器中的类似选项),这样可以阻止所有社交媒体元素。