- // ==UserScript==
- // @name 净化常用国内博客
- // @namespace https://github.com/jackkke
- // @namespace https://gitee.com/jackkke
- // @version 1.5
- // @description 纯净进行 Ctrl+C, 贯彻执行 write once run everywhere.源码:https://jsrun.net/dHsKp
- // @author jackkke hangao1204@hotmail.com
- // @match *://blog.csdn.net/*
- // @match *://www.cnblogs.com/*
- // @match *://www.jianshu.com/*
- // @match *://juejin.cn/*
- // @match *://www.oschina.net/*
- // @match *://segmentfault.com/*
- // @match *://www.jb51.net/*
- // ==/UserScript==
- (function () {
- 'use strict';
- let blogSiteDb = {
- csdn: {
- siteId: 'csdn',
- remove_class: ['blog_container_aside', 'insert-baidu-box', 'first-recommend-box', 'second-recommend-box', 'blog-footer-bottom', 'template-box', 'recommend-nps-box', 'tool-QRcode', 'kind_person', 'csdn-common-logo-advert', 'toolbar-advert'],
- remove_id: ['asideHotArticle', 'asideNewComments', 'asideArchive', 'asideNewNps', 'asideSearchArticle',],
- remove_more: ['.csdn-side-toolbar a:not(:last-child)',],
- pro_styles: []
- },
- 'cnblogs': {
- siteId: 'cnblogs',
- remove_class: [],
- remove_id: ['cnblogs_c1', 'under_post_card1', 'under_post_card2', 'sideBar'],
- remove_more: [],
- pro_styles: ['#mainContent{margin: 0;}', '.forFlow{margin: 15px;}']
- },
- 'jianshu': {
- siteId: 'jianshu',
- remove_class: ['_13lIbp', 'ouvJEz:last-of-type', '_1jKNin'],
- remove_id: [],
- remove_more: ['footer', 'footer ~ div', 'aside',],
- pro_styles: []
- },
- 'juejin': {
- siteId: 'juejin',
- remove_class: ['.extension', '.recommended-area', '.sidebar', '.article-suspended-panel'],
- remove_id: [],
- remove_more: [],
- pro_styles: []
- },
- 'oschina': {
- siteId: 'oschina',
- remove_class: ['other-articles-box', 'detail-toolbar-box', 'sidebar-box', 'codeBlock'],
- remove_id: ['footer'],
- remove_more: [],
- pro_styles: []
- },
- 'segmentfault': {
- siteId: 'segmentfault',
- remove_class: ['functional-area-left', 'right-side', 'recommend-list-wrap', 'border-width-2'],
- remove_id: ['#footer'],
- remove_more: [],
- pro_styles: []
- },
- 'jb51': {
- siteId: 'jb51',
- remove_class: ['xgcomm', 'main-right', 'art_xg'],
- remove_id: ['footer', 'ewm', 'right-share'],
- remove_more: [],
- pro_styles: []
- }
- };
- let handle = function (host, type) {
- const hosts = host.split('.');
- const id = hosts[hosts.length - 2];
- if (blogSiteDb.hasOwnProperty(id)) {
- console.log('refine current site [' + id + '] by jackkke');
- if (type === 'style') {
- handleCss(blogSiteDb[id])
- } else if (type === 'javascript') {
- handleJs(blogSiteDb[id])
- } else {
- console.error('处理类型有误!')
- }
- }
- };
- let handleCss = function (db) {
- let style = document.createElement('style');
- db.remove_class.forEach(function (css) {
- style.appendChild(document.createTextNode('.' + css + '{display: none!important;}'))
- });
- db.remove_id.forEach(function (id) {
- style.appendChild(document.createTextNode('#' + id + '{display: none!important;}'))
- });
- db.remove_more.forEach(function (more) {
- style.appendChild(document.createTextNode(more + '{display: none!important;}'))
- });
- db.pro_styles.forEach(function (pro_style) {
- style.appendChild(document.createTextNode(pro_style))
- });
- document.getElementsByTagName('head')[0].appendChild(style)
- };
- let handleJs = function (db) {
- db.remove_class.forEach(function (css) {
- let elements = document.getElementsByClassName(css);
- if (elements && elements.length > 0) {
- Array.prototype.forEach.call(elements, function (element) {
- element.remove()
- })
- }
- });
- db.remove_id.forEach(function (id) {
- document.getElementById(id).remove()
- })
- };
- handle(location.host, 'style');
-
- function newLoadHandler() {
- handle(location.host, 'javascript')
- }
- var oldLoadHandler = window.onload;
- window.onload = function () {
- if (oldLoadHandler) {
- oldLoadHandler()
- }
- newLoadHandler()
- }
- })();