编程猫优化

优化编程猫

目前为 2024-02-06 提交的版本。查看 最新版本

// ==UserScript==
// @name         编程猫优化
// @namespace    https://gf.qytechs.cn/
// @version      1.3
// @description  优化编程猫
// @author       银河本尊
// @run-at       document-start
// @match        https://shequ.codemao.cn/*
// @license      MIT
// @grant        GM_xmlhttpRequest
// @require      https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js
// ==/UserScript==

var dialog_r = 0

var sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay));

//console.log(unsafeWindow)

unsafeWindow.o_open = unsafeWindow.open;

if(window.location.href.includes('community/')||window.location.href.includes('wiki/forum/')){
    let dang_elem_count = 0 
    setInterval(function(){
        let dangers = document.querySelector('iframe,embed')
        dangers = $('iframe,embed')
        if(dangers){
            for(let i=0;i<dangers.length;i++){
                let danger = dangers[i]
                //console.log(danger)
                if(danger.id!='react-tinymce-0_ifr'){
                    danger.before('[由实时防护拦截]');
                    danger.remove();
                    console.log('removed');
                    console.log(danger)
                    dang_elem_count++
                    console.log(dang_elem_count)
                    $('#confirm').remove()
                    bconf('实时防护', `拦截了${dang_elem_count}个元素`, '关闭', '确定')
                }
            }
        }
        //$('iframe').remove()
        //$('embed').remove()
    },1)
};

unsafeWindow.open = async function(url){
    if ((url.includes("community") || url.includes("wiki/forum")) && (parseInt(url.split("/")[2]) || parseInt(url.split("/")[3]))) {
        let id = "";
        if (url.includes("community")) {
            id = url.split("/")[2];
        } else {
            id = url.split("/")[3];
        }
        // console.log(id);
        $.ajax({
            type: "GET",
            url: `https://api.codemao.cn/web/forums/posts/${id}/details`,
        contentType: "application/json;charset=UTF-8",
            async: true,
            xhrFields: {
                withCredentials: true,
            },
            success: async function (obj) {
                if((obj.content).includes('iframe')||(obj.content).includes('embed')){
                    if((await bconf('此帖子可能存在风险!', '可能包括但不限于盗号等', '继续(不推荐)', '关闭'))==1){unsafeWindow.o_open(url)}
                } else{
                    unsafeWindow.o_open(url);
                }
            },
            error: function (res){
                bconf('获取帖子信息失败', '请检查网络链接', '关闭', '确定')
                console.log(res)
            },
      });
    } else {
      // console.log("catched go");
      return unsafeWindow.o_open(url);
    }
    //alert(url)
    //bconf()
}

create_css()

$('.c-navigator--navigator').ready(function(){
    setInterval(function(){
        $('.c-navigator--navigator').attr('style', '');
        $('.c-navigator--navigator').attr('style', 'width: '+window.innerWidth+'px !important;');
        //console.log($('.c-navigator--navigator').width())
    }, 500)
})

async function bconf(header='提示', content='content', cancel='取消', confirm='确认'){
    $('.c-dialog--dialog_wrap').after('<div class="c-dialog--dialog_wrap" id="confirm"><div class="c-dialog--dialog_cover"></div><div class="c-dialog--content_box"><div></div></div></div>')
    $('#confirm').html(`<div class="c-dialog--dialog_cover"></div><div class="c-dialog--content_box"><div class="c-dialog-c-confirm_box_center--dialog"><div class="c-dialog-c-confirm_box_center--title">${header}</div><div class="c-dialog-c-confirm_box_center--content">${content}</div><div class="c-dialog-c-confirm_box_center--btns"><a class="c-dialog-c-confirm_box_center--cancel">${cancel}</a><a class="c-dialog-c-confirm_box_center--confirm">${confirm}</a></div></div></div>`)
    document.querySelector('#confirm').offsetHeight
    $('#confirm').addClass('c-dialog--visiable').addClass('c-dialog--show')
    dialog_r = 0
    $('#confirm .c-dialog--content_box .c-dialog-c-confirm_box_center--btns .c-dialog-c-confirm_box_center--confirm').click(function(){dialog_r=2})
    $('#confirm .c-dialog--content_box .c-dialog-c-confirm_box_center--btns .c-dialog-c-confirm_box_center--cancel').click(function(){dialog_r=1})
    while(dialog_r==0){
        await sleep(100)
        //console.log(dialog_r)
    }
    $('#confirm').removeClass('c-dialog--visiable')
    await sleep(300)
    $('#confirm').remove()
    return dialog_r
}

function create_css() {
$("head").append(`
<style>
/*主题色*/
.c-navigator--navigator, 
.c-navigator--header-content, 
.r-community--send_btn, 
.r-community-r-detail--send_btn, 
.r-community-r-detail-c-comment_reply--reply_send a, 
.r-community-r-detail--add_reply, 
.c-pagination--btn.c-pagination--page-container .c-pagination--activePage, 
.r-community--forum_filter .r-community--filter_tab.r-community--active span, 
.line, 
.r-discover-c-tagList--select, 
.r-message--nav_item.r-message--cur_nav:after, 
.r-work-c-comment_area--comment_btn, 
.r-work-c-comment_area-c-comment_reply--reply_send a, 
.c-dialog-c-confirm_box_center--confirm{
    background-color: rgb(41, 126, 255) !important;
}
/*主题色边框*/
.c-pagination--btn.c-pagination--page-container .c-pagination--activePage, 
.r-community-r-detail-c-comment_reply--reply_editor:focus, 
.r-community-r-detail-c-comment_reply--reply_btn:hover, 
.r-community--filter_tab, 
.r-community--forum_filter .r-community--filter_tab.r-community--active span, 
.r-discover-c-tagList--select, 
.r-discover-c-tagList--sort_item:hover, 
.r-work-c-comment_area-c-comment_editor--editor:focus, 
.r-work-c-comment_area-c-comment_reply--reply_editor:focus, 
.r-work-c-comment_area-c-comment_reply--reply_send a, 
.c-dialog-c-confirm_box_center--confirm, 
.c-dialog-c-confirm_box_center--cancel:hover{
    border-color: rgb(41, 126, 255) !important;
}
/*主题色文本*/
.r-community--active, 
.r-community--forum_filter, 
.r-community--filter_tab:hover, 
.r-community-r-detail-c-comment_reply--reply_btn:hover, 
.loading_container, 
.c-post_list--has_reply, 
.r-discover--active, 
.r-discover--switch-box li:hover, 
.r-discover-c-tagList--sort_item:not(.r-discover-c-tagList--select):hover, 
.r-discover-c-banner--item p:hover, 
.r-message--cur_nav, 
.r-message--nav_item:hover, 
.r-message-c-comments--work_name, 
.r-message-c-buy--work_name, 
.r-message-c-system_message--work_name, 
.r-work-c-comment_area-c-comment_item--active, 
.r-work-c-comment_area-c-comment_item--active i, 
.r-work-c-comment_area-c-comment_item--active span, 
.r-work-c-comment_area-c-comment_reply--active, 
.r-work-c-comment_area-c-comment_reply--active i, 
.r-work-c-comment_area-c-comment_reply--active span, 
.r-community-r-detail-c-comment_item--active,
.r-community-r-detail-c-comment_item--active i, 
.r-community-r-detail-c-comment_item--active span, 
.r-community-r-detail-c-comment_reply--active, 
.r-community-r-detail-c-comment_reply--active i, 
.r-community-r-detail-c-comment_reply--active span, 
.c-post_list--post_title h3:hover, 
.c-post_list--post_header span:hover, 
.r-community-r-detail--author_link, 
.r-community-r-detail-c-comment_item--author_link, 
.r-community-r-detail-c-comment_reply--author_link, 
.c-dialog-c-confirm_box_center--cancel:hover{
    color: rgb(41, 126, 255) !important;
}
/*高亮色*/
.c-navigator--selected, 
.c-navigator--header-content .c-navigator--nav_wrap .c-navigator--item:hover, 
.c-navigator--message_wrap:hover, 
.c-navigator--avatar_wrap:hover, 
.r-community--send_btn:hover{
    background-color: #1b70f2 !important;
}
/*高亮色2*/
.c-post_list--has_reply{
    background-color: rgb(219, 234, 255) !important;
}
/*创作标签*/
.c-navigator--ide_link{
    background-color: rgb(66, 214, 101) !important;
}
/*kn公测*/
.c-navigator--kn_wrap{
    background-color: rgb(41, 169, 255) !important;
}
/*kn:hover*/
.c-navigator--kn_wrap:hover{
    background-color: rgb(27, 156, 242) !important;
}
/*弹窗*/
.c-popup--msg_cont{
    background-color: rgba(255, 255, 255, 0.6) !important;
    color: black !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    border-radius: 10px !important;
}
/*弹窗2背景*/
.c-dialog--show, 
.c-model_box--show .c-model_box--content_wrap{
    background-color: rgba(0, 0, 0, 0.1) !important;
    color: black !important;
    backdrop-filter: blur(10px);
    border-radius: 10px !important;
    width: 100% !important;
}
/*圆角+阴影*/
.r-community--bulletin_container, 
.r-community--notic_container, 
.r-community--content_container, 
.r-community--search_container, 
.r-community-r-detail-c-comment_reply--reply_container, 
.r-discover--work-item, 
.r-work--work_detail_container, 
.r-work-c-author_info--author_info_card, 
.r-work-c-work_info--container, 
.r-work-c-work_container--work_list, 
.r-work-c-comment_area-c-comment_reply--reply_container, 
.r-user-c-slide-panel--top, 
.r-user-c-slide-panel--middle, 
.r-user-c-button-panel--bottom, 
.r-user-c-body--body, 
.c-dialog--content_box{
    border-radius: 10px !important;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important; 
    overflow: hidden;
    transition: 0.3s all !important;
}
/*仅圆角*/
.c-navigator--header-content .c-navigator--nav_wrap .c-navigator--item:not(.c-navigator--selected):hover, 
.c-navigator--message_wrap:hover, 
.c-navigator--avatar_wrap:hover, 
.c-navigator--ide_link:hover{
    border-radius: 10px !important;
}
/*上方圆角*/
.r-work-c-author_info--author_info_card{
    border-radius: 10px 10px 0 0 !important;
}
/*下方圆角*/
.c-navigator--navigator, 
.r-work-c-work_info--container, 
.c-navigator--dropdown, 
.c-navigator--dropdown-wrap, 
.c-navigator--drop_down .c-navigator--cont{
    border-radius: 0 0 10px 10px !important;
}
/*仅阴影*/
.c-navigator--dropdown, 
.c-navigator--dropdown-wrap, 
.c-navigator--drop_down .c-navigator--cont{
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important;
}
/*标题修复*/
.c-model_box--content_wrap, 
.r-community--container{
    /*overflow: hidden; */
}
.r-community--middle_content_container{
    /*padding-left: 20px !important; 
    padding-right: 20px !important; */
}
.r-community--search_container{
    /*margin-right: 20px !important;*/
}
.c-navigator--navigator{
    /*position:  !important;*/
    /*left: auto !important;
    right: auto !important; */
    /*width: 100vw !important;*/
}
body{
    /*width: 1500px;*/
}
/*外边框*/
.r-community-r-detail-c-comment_item--comment_item{
}
/*动画时间*/
.c-post_list--post_body:hover, 
.c-navigator--message_wrap, 
.c-navigator--avatar_wrap, 
.c-navigator--ide_link, 
.c-dialog--dialog_wrap, 
.c-dialog--dialog_wrap .c-dialog--dialog_cover{
    transition: 0.3s !important;
}
/*下拉菜单*/
.c-navigator--second_nav .c-navigator--dropdown{
    width: 120px !important;
}
/*防沉迷背景*/
.c-virtual_player--toast_container{
    backdrop-filter: blur(0px) !important;
}
</style>
`)
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址