油猴脚本-指定classname和id去除广告

// ==UserScript==
// @name         CSDN去除反人类设计
// @namespace    http://tampermonkey.net/
// @version      0.9
// @description  移除CSDN反人类设计
// @author       You
// @match        *://*.csdn.net/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    // ===============
    // ===  干掉广告
    // ===============
    // 广告classname
    var fuck_class_ad = ["programmer1Box","toolbar-advert",'blog-slide-ad-box','top-special-info','app-qr-box',"recommend-item-box-tow"];
    // 广告id
    var fuck_id_ad = ['recommendAdBox','kp_box_ww9877','kp_box_www_content','kp_box_www_swiper','kp_box_www_swiper_ban','nps-box',"footerRightAds","asideNewNps","recommendNps","recommend-item-box-tow"];
    var ad_class_len = fuck_class_ad.length;
    var ad_id_len = fuck_id_ad.length;
    // 已经干掉的数量
    var ad_kill_num = 0;
    // 重复检查X轮
    var check_num = 30;
    console.log('csdn广告去除启动...');
    // 循环检查
    var t_ad = setInterval(function(){
        // 寻找指定classname标签的元素并干掉
        for(var i = 0;i<ad_class_len;i++){
            //console.log('寻找 classname=:'+fuck_class_ad[i]+'的元素');
            var tarlist = document.getElementsByClassName(fuck_class_ad[i]);
            if(tarlist.length > 0){
                var ad = document.getElementsByClassName(fuck_class_ad[i])[0];
                if(ad != undefined){
                    ad_kill_num++;
                    ad.remove();
                    console.log( 'classname='+ fuck_class_ad[i] + '的元素找到了,并且已干掉!!!');
                }else{
                    //console.log(ad);
                }
            }
        }
        // 寻找指定id标签的元素并干掉
        for(var i2=0;i2<ad_id_len;i2++){
            //console.log('寻找 id=:'+fuck_id_ad[i]+'的元素');
            var ad2 = document.getElementById(fuck_id_ad[i2]);
            if(ad2 != null){
                ad_kill_num++;
                ad2.remove();
                console.log( 'id='+ fuck_id_ad[i] + '的元素找到了,并且已干掉!!!');
            }else{
                //console.log(ad2);
            }
        }
        // 做完清除就关闭遍历广告
        if(ad_kill_num == (ad_class_len + ad_id_len) || check_num <= 0){
            console.log('csdn广告清除完毕 ^-^');
            clearInterval(t_ad);
        }
        check_num--;
    },300);

    // ======================
    // ===  绕过 关注博主可读
    // ======================
    setTimeout(function(){
        var article = document.getElementById('article_content');
        if(article.style.length > 0){
            // 干掉 'height:2000px ; overflow:hidden'
            article.style = [];
            // 干掉 '关注按钮' 及 阴影遮罩
            document.getElementsByClassName("hide-article-box hide-article-pos text-center")[0].style.display = 'none';
        }
        console.log('-> 绕过关注 完毕!!!');
    },200);

    // ===========================
    // ===  点击按钮展开所有代码段
    // ===========================
    var check_pre_code_count = 20; // 重复检查X轮
    var t_hidecode = setInterval(function(){
        var pre_code = document.getElementsByClassName("set-code-hide");
        while(pre_code.length > 0){
        // 删掉下箭头按钮
            pre_code[0].childNodes[1].remove();
            // 展开代码段
            pre_code[0].classList = [];
        }
        if(--check_pre_code_count <= 0){
            clearInterval(t_hidecode);
            console.log('-> 展开所有代码段 完毕!!!');
        }
    },300);

    // ===========================
    // ===  干掉复制小尾巴
    // ===========================
    window.csdn.copyright.textData = '';
    console.log('-> 干掉复制小尾巴 完毕!!!');


    // ========================================
    // ===  干掉私信中来自CSDN官方的垃圾信息轰炸
    // =========================================
    // setTimeout(function(){
	// var chat_list = document.getElementsByClassName('chat-list')[0];
	// if(chat_list == undefined){
	// // 不是私信页面
	// return;
	// }
	// var chat_item_list_div = chat_list.childNodes[1].childNodes[0].childNodes[0];
	// var chat_item = chat_item_list_div.getElementsByClassName('msg-item');
	// var chat_item_len = chat_item.length;
	// for(var j=0;j<chat_item_len;j++){
	// var dialog = chat_item[j].getElementsByClassName('msg-relation relation-0');
	// if(dialog.length > 0){
	// if(dialog[0].textContent.indexOf('官方') >= 0){
	// // 点击"删除对话"
	// chat_list.childNodes[0].childNodes[2].click();
	// // 点击"确认"
	// document.getElementsByClassName('el-button el-button--default el-button--small el-button--primary')[0].click();
	// // 索引变了
	// //j--;
	// //chat_item_len--;
	// }
	// }
	// }
    //     console.log('-> 干掉来自官方的问候 完毕!!!');
    // },200);


})();

 

posted @   荒口巨笔  阅读(304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示