篡改猴(油猴)
篡改猴 (Tampermonkey) https://www.tampermonkey.net
搜索:【玩的嗨】VIP工具箱
Greasy Fork 官网 https://greasyfork.org/zh-CN
Greasy Fork 源码 https://github.com/greasyfork-org/greasyfork
实例
在Gitee的消息中心中,有删除私信的功能,但没有删除通知的功能,看着这些杂七杂八的通知,有时候挺烦的,下面是Tampermonkey中隐藏通知内容的脚本:
// ==UserScript==
// @name Gitee隐藏通知内容
// @namespace https://gitee.com/
// @version 2024-12-07
// @description 隐藏Gitee消息中心的通知按钮和内容,避免看到烦乱消息
// @author Me
// @match https://gitee.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=gitee.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 删除头部栏中的消息中心按钮
// 获取ID为notice-dropdown的元素
var noticeDropdownElement = document.getElementById('notice-dropdown').remove();
// 删除消息中心页的通知按钮
// 获取ID为notice-app的元素
var noticeAppElement = document.getElementById('notice-app');
// 检查元素是否存在
if (noticeAppElement) {
// 在notice-app元素内部查找类名为notice-actionbar的元素
var actionBarElements = noticeAppElement.getElementsByClassName('notice-actionbar');
// 遍历所有找到的notice-actionbar元素
for (var i = 0; i < actionBarElements.length; i++) {
var actionBarElement = actionBarElements[i];
// 在notice-actionbar元素内部查找所有的<a>标签
var aTags = actionBarElement.getElementsByTagName('a');
// 检查是否有至少两个<a>标签
if (aTags.length >= 2) {
// 移除第二个<a>标签(注意:getElementsByTagName返回的是类数组对象,索引从0开始)
aTags[1].parentNode.removeChild(aTags[1]);
// 如果你确定只需要移除第一个找到的notice-actionbar中的第二个<a>标签,
// 那么在这里可以退出循环(如果你想要移除所有notice-actionbar中的第二个<a>标签,则不需要这一行)
// break;
}
}
}
// 清空通知页面打开后里面的通知内容
// 确保DOM完全加载
window.addEventListener('load', function() {
// 获取ID为notice-app的元素
var noticeAppElement = document.getElementById('notice-app');
// 检查元素是否存在
if (noticeAppElement) {
// 在notice-app元素内部查找同时拥有page和grid类的元素
var elementsToClear = noticeAppElement.querySelectorAll('.page.grid');
// 遍历这些元素并清空它们的HTML内容
elementsToClear.forEach(function(element) {
element.innerHTML = '';
});
}
}, false);
})();