星之子 发表于 昨天 19:25

【冬宫学府】【油猴脚本】不显示特定类型的帖子

本帖最后由 星之子 于 2024-12-24 19:35 编辑

动机
泥潭的功能允许单独查看某一特定类型的帖子、却不能单独屏蔽某一类型的帖子。我个人的口味不太爱看韩漫(爱看韩漫的坛友dbq),想单独让这种类型不显示,所以写了这个脚本。

功能
输入你想要屏蔽的某一特定类型,作为关键词填入指定位置即可。
需要注意的是,这些关键词是所有版块共用的,以下两种情况可能不太适用:
[*]两版块包含同一类型的帖子,将其作为关键词会一并屏蔽。例:动漫分享 和 和谐动漫 都包含“其他”。
[*]因为是检测关键词,所以无法应对关键词互相包含的情况。例:屏蔽“其他”也会一并屏蔽 五花八门 的“其他内容”。
比如这里我随便选了CGAI区域按照时间排序的帖子,然后将所有带有 的帖子屏蔽,效果如下:


代码
@Name@Match
// ==UserScript==
// @name         看帖:不显示特定类型的帖子
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description默认隐藏特定类型的帖子,按Shift+Q切换显示
// @author       Étoiles + GPT
// @match      https://www.gamemale.com/forum.php?*
// @match      https://www.gamemale.com/forum-*
// @grant      none
// ==/UserScript==

(function() {
    'use strict';

    let hidden = false;

    // 关键词列表,包含你希望隐藏的帖子类型
    const keywordList = [
      '关键词1','关键词2','关键词3','关键词4'
    ];

    // Function to hide elements containing specific keywords in <tr> > th > em > a
    function hideRewardQuestions() {
      // Select all <tr> elements
      var rows = document.querySelectorAll('tr');

      rows.forEach(function(row) {
            // Check if the <tr> contains the <th> > <em> > <a> element with specific keywords
            var link = row.querySelector('th > em > a'); // Select the specific <a> element within <th> > <em>

            if (link) {
                // Check if the link's text content includes any of the keywords
                let containsKeyword = keywordList.some(keyword => link.textContent.includes(keyword));

                // If the link contains a keyword, hide the entire <tr>
                if (containsKeyword) {
                  row.style.display = hidden ? '' : 'none'; // Toggle visibility
                }
            }
      });
    }

    // 用来调整是否隐藏的开关
    function toggleHiddenState() {
      hidden = !hidden;
      hideRewardQuestions();
    }

    // 在这里可以调整切换开关的快捷键
    document.addEventListener('keydown', function(event) {
      if (event.shiftKey && event.key === 'Q') {
            toggleHiddenState();
      }
    });

    // 在页面加载时运行
    window.addEventListener('load', hideRewardQuestions);
})();

星象占卜

崽仔狼 发表于 昨天 19:27

反向屏蔽嘛,虽然我用不着但还是谢谢分享捏

notunicorna 发表于 昨天 19:29

星佬好强的技术力,还能这样使用屏蔽功能的

cinder 发表于 昨天 19:32

能屏蔽作者嗎..泥潭的黑名單簡直是在懲罰使用者~.~

贰狼Awoo 发表于 昨天 19:36

666,好强,感觉某种程度上还能当做搜索引擎用

娱乐法师火布偶 发表于 昨天 19:50

也许可以用来屏蔽各种悬赏帖,反正我也回答不上来,可以节约看的精力

tuxonstar 发表于 昨天 20:02

感觉还挺有意思的一个小工具!感觉可以用来跳过一些不符合xp的内容呢,哈哈

cjamno 发表于 昨天 20:04

大佬牛皮,虽然感觉现在暂时用不到,先收藏等以后用

Riverlethe 发表于 昨天 20:06

贪婪让我每个帖子都得看到来赚钱钱,不过可以自动格式化掉~~

PURO_ 发表于 昨天 20:47

挺好的,感觉可以减轻一点浏览器加载的压力,只看自己想看到的

饥渴难耐的G 发表于 昨天 20:47

可以的,能把那些水的全屏蔽掉,以免点进去浪费时间

紫漾Aro 发表于 昨天 20:49

还不错,比黑名单的功能要来的实在一些,可以筛选自己想看到的内容了{:6_169:}

Hadley0T 发表于 昨天 20:51

筛选全是比较实用的了,如果和火老师那样直接屏蔽悬赏也是个不错的选择,不过如果能设置特定人的话感觉更加实用?:o

crino66666 发表于 昨天 21:23

太牛了吧,好厉害的功能,但我只喜欢兽人hhhhh

zibatco2 发表于 昨天 22:00

好像不错用但又怕错过奇奇怪怪得帖子呢~有点犹豫要不要用{:4_92:}

毛茸茸兽兽 发表于 昨天 22:06

挺好的哇~一些有雷点的坛友能用得上欸

you9632587 发表于 昨天 23:14

用来屏蔽现在和谐区的悬赏贴还是挺方便的啊

469MAPabu 发表于 14 小时前

好好好,真得很实用,帖子太多,找感兴趣的帖子太难了
页: [1]
查看完整版本: 【冬宫学府】【油猴脚本】不显示特定类型的帖子