gpt4 book ai didi

javascript - 使用 grease/tampermonkey(或其他扩展)来省略网络元素中的某些字符

转载 作者:行者123 更新时间:2023-11-28 16:41:30 26 4
gpt4 key购买 nike

首先,如果我在这里的术语不是最准确的,我深表歉意;在编程方面,我是一个新手。我常去的一个论坛在页面上添加了一堆不必要的、“有问题的”图像和文本作为某种宣传的一部分,但结果是该论坛现在很难使用和阅读。我能够使用 adblock 编写其中的大部分内容,但最后一点显示在论坛元素本身内部,而 adblock 想要删除整个元素(这会破坏论坛)。这是有问题的代码的一部分,URL 已更改:

<td class="windowbg" valign="middle" width="42%">&blk34;&blk34;&blk34;&blk34;&blk34;
<a href="http://www.example.com">Thread title</a> <span class="smalltext"></span><img src="example.com/forumicon.gif"></td>

如您所见,↓ 字符无缘无故地出现了很多次。有没有办法让我的浏览器在元素内部时忽略这个字符?如果有办法使用 AdBlock 做到这一点,我还不够聪明,看不到它。

最佳答案

这是一种方法,使用 NodeIterator :

var iter = document.createNodeIterator( document.body, NodeFilter.SHOW_TEXT );
var node;
while (node = iter.nextNode()) {
node.textContent = node.textContent.replace( /[\u2580-\u259f]+/g, '' );
}

这只是普通的 JavaScript 代码;您可以将其粘贴到 Firefox/Chrome JS 控制台中进行测试。正则表达式 /[\u2580-\u259f]+/ 匹配 "Block Elements" Unicode block 中的任何字符序列,包括 U+2593 Dark Shade (↓)。您可能需要调整正则表达式以匹配您要删除的字符。 (提示:如果您不知道这些字符的代码是什么,请将它们复制并粘贴到 this page 上的“UTF8 字符串”框中。)

附言。如果您要删除的这些字符仅出现在文档的特定部分,您可以通过将根节点(上面的 document.body)替换为要删除字符的特定 DOM 节点来使此代码更高效从。要找到你想要的节点,你可以使用例如document.getElementById() 或更一般地说,document.querySelector()(甚至 document.querySelectorAll() 并循环结果)。

关于javascript - 使用 grease/tampermonkey(或其他扩展)来省略网络元素中的某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33657858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com