屏蔽搜索结果中出现的一切有关CSDN的选项
当前为
// ==UserScript==
// @name CSDN滚啊
// @namespace http://tampermonkey.net/
// @license MIT
// @version 0.3
// @description 屏蔽搜索结果中出现的一切有关CSDN的选项
// @author xiaoma
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 屏蔽CSDN链接
function blockCSDNLinks() {
// 定义CSDN主域名
const csdnDomain = 'csdn.net';
// 查找所有链接
const links = document.querySelectorAll('a');
links.forEach(link => {
// 检查链接是否包含CSDN主域名
if (link.href.includes(csdnDomain)) {
// 尝试找到包含链接的搜索结果项
const resultItem = link.closest('.b_ans, .b_widgetContainer, .b_algo');
if (resultItem) {
// 隐藏整个搜索结果项
resultItem.style.display = 'none';
}
}
});
}
// 使用MutationObserver监听DOM变化
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.addedNodes.length) {
blockCSDNLinks();
}
});
});
// 配置观察器选项: 观察子节点的变化
var config = { childList: true, subtree: true };
// 选择需要观察变动的节点
var targetNode = document.body;
// 启动观察器
observer.observe(targetNode, config);
// 初始执行一次,以处理页面加载时已经存在的链接
blockCSDNLinks();
// 监听页面滚动到底部事件,这通常是加载更多搜索结果的触发条件
window.addEventListener('scroll', function() {
var nearBottom = window.innerHeight + window.scrollY >= document.body.offsetHeight - 500;
if (nearBottom) {
blockCSDNLinks();
}
});
})();