我正在使用Ublock来源来改变我的页面外观并隐藏烦恼。
我想隐藏元素中的文本而不是过滤对象。它是一个具有特定高度的唯一类的 span 对象。它位于页面顶部,当隐藏元素时,页面的整个块向上移动,而其他对象则不会,使页面看起来很糟糕。 有没有办法在 ublock 原点编写一个过滤器,用空格替换对象内的文本?
<span class="unique-id">text to hide</span>
资源:
Ublock 静态过滤器维基 总部基地过滤器指南
怎么样:
yourWebsite.com##.unique-id:style(display: none !important)
我想隐藏元素中的文本而不是过滤对象。
<span class="unique-id">text to hide</span>
可以使用uBlock Origin中的replace-node-text.js scriptlet来做到这一点。 脚本的源代码在这里。
replace-node-text.js可用于用不同的文本替换任何元素的文本内容。 通过用空文本替换原始文本,它还可以根据需要删除文本。
因此,要从示例 HTML 中的 span 标记中删除文本内容,请使用以下 uBlock 规则之一:
[website hostname]##+js(replace-node-text, text, text to hide, "")
或
[website hostname]##+js(replace-node-text, text, text to hide)
或
[website hostname]##+js(rpnt, text, text to hide, "")
或
[website hostname]##+js(rpnt, text, text to hide)
"rpnt"是脚本的缩写名称。
这样做有几个注意事项: 首先,由于此脚本将"requiresTrust"设置为"true",因此您只能在设置中放置在uBlock Origin的"我的过滤器"选项卡的文本框中的规则中使用此脚本。 您不能将此脚本包的规则放在"筛选器列表"下加载的自定义列表中。
其次,我上面的示例规则将用"替换所有"要隐藏的文本"实例,其中文本是文本节点。 应该可以使过滤器目标更具体,但到目前为止,我只能让"文本"作为选择器。 在当前版本的官方"uBlock 过滤器 – 广告"列表中使用此脚本的规则都针对"脚本"选择器,没有文本选择器的规则。