掘金沸点屏蔽脚本分享

194 阅读1分钟

前言

在浏览掘金沸点时,经常会遇到一些刷经验、理财交流以及AI机器人相关的内容。如果你也对这些信息不感兴趣,可以试试我写的这款屏蔽脚本,自动帮你过滤掉不感兴趣的内容。

脚本功能

  • 屏蔽“理财交流圈”相关沸点
  • 屏蔽“刷经验”内容(如“经验+8”、“exp + 8”等)
  • 屏蔽以 @ 开头的 AI 机器人聊天内容
  • 支持自定义扩展屏蔽规则

使用方法

  1. 安装 Tampermonkey 浏览器插件
  2. 新建一个用户脚本,将下方代码替换粘贴进去并保存
  3. 打开掘金沸点页面,脚本会自动生效

脚本源码

// ==UserScript==
// @name         掘金内容屏蔽
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  屏蔽掘金沸点中刷经验、理财交流圈、以及AI机器人相关内容
// @author       YourName
// @match        https://juejin.cn/*
// @grant        none
// ==/UserScript==

;(function () {
  'use strict'

  // 更宽松的正则,允许exp和+、数字之间有空格
  // 例如:exp + 8, 经验+8
  const EXP_REGEX = /(exp|经验)\s*\+\s*\d+/i

  // 屏蔽条件数组,每个条件是函数,参数为 item,返回 true 表示需要屏蔽
  const blockRules = [
    // 理财交流圈
    item => {
      const circlePins = item.querySelector('.pin-club-box')
      return circlePins && circlePins.textContent.trim() === '理财交流圈'
    },
    // 刷经验
    item => {
      const contentSpan = item.querySelector('.content')
      return contentSpan && EXP_REGEX.test(contentSpan.textContent)
    },
    // 以 @ 开头的AI机器人
    item => {
      const contentSpan = item.querySelector('.content')
      const robotSpan = item.querySelector('span[data-node="robot"]')
      return contentSpan && contentSpan.textContent.startsWith(' @') && robotSpan
    },
    // 新增条件可直接在此添加
  ]

  function hideBlockedItems() {
    const pinItems = document.querySelectorAll('li.item.shadow')
    pinItems.forEach(item => {
      for (const rule of blockRules) {
        if (rule(item)) {
          item.style.display = 'none'
          return
        }
      }
    })
  }

  hideBlockedItems()

  const observer = new MutationObserver(hideBlockedItems)
  observer.observe(document.body, { childList: true, subtree: true })
})()

结语

如果你有更多想屏蔽的内容,可以在 blockRules 数组中添加自定义规则。欢迎评论区交流和补充!