CSDN Cleaner (CSDN 净化器)

从 Google 搜索结果屏蔽 CSDN 垃圾内容!

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         CSDN Cleaner (CSDN 净化器)
// @version      1.0.0
// @description  从 Google 搜索结果屏蔽 CSDN 垃圾内容!
// @author       Zhifeng Hu
// @icon         https://img-home.csdnimg.cn/images/20201124032511.png
// @match        http*://www.google.com/search?*
// @run-at       document-end
// @grant        none
// @namespace    https://github.com/huzhifeng/
// @license      MIT
// ==/UserScript==

(function() {
	'use strict';
	let blacklist = [
		'blog.csdn.net',
		'www.csdn.net'
	]

	console.log('CSDN Cleaner');

	[...document.getElementsByClassName('g Ww4FFb tF2Cxc')].map(item => {
		if (item.hasChildNodes()) {
			let a = item.querySelector('a');
			let href = a.getAttribute('href');
			for (let site of blacklist) {
				if (href.indexOf(site) > -1) {
					console.log('Remove CSDN Link: %s', href);
					item.remove();
					break;
				}
			}
		}
	});
})();