// ==UserScript== // @name CSDN滚啊 // @namespace http://tampermonkey.net/ // @license MIT // @version 0.3 // @description 屏蔽搜索结果中出现的一切有关CSDN的选项 // @author xiaoma // @match *://*/* // @grant none // @downloadURL 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(); } }); })();