hty 脚本

hty 的小脚本,个人使用向,不建议社会人士下载

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         hty 脚本
// @description  hty 的小脚本,个人使用向,不建议社会人士下载
// @version      1.1.6
// @author       hty
// @namespace    https://github.com/HTY-DBY/script-hty
// @icon         https://hty.ink/logo.jpg
// @grant        none
// @match        *.csdn.net/*
// @match        *.google.com/*
// @match        *.google.com.hk/*
// @match        *.bing.com/*
// @match        *.soujianzhu.cn/*
// @match        *.bilibili.com/*
// @match        *.baidu.com/*
// @match        *.yutu.cn/*
// @match        *.zhihu.com/*
// @match        *.cnki.net/*
// @match        *.openai.com/*

// @license      MIT
// ==/UserScript==

// @note         1.1.6 一些 bug 修复
// @note         1.1.3 一些 bug 修复
// @note         1.1.2 一些 bug 修复
// @note         1.1.1 一些 bug 修复
// @note         1.1.0 新增 知网 PDF 硕博文献下载
// @note         1.0.0 个人使用向,不建议社会人士下载




// bing 刷新
if (window.location.href == 'https://www4.bing.com/#reloaded') {
    window.location.href = "https://www4.bing.com"
} else {
    //获取当前网页url
    var url = window.location.host

    if (url == 'chat.openai.com') {
        let OK = 0
        let timer = setInterval(function () {
            try {
                for (var i = 0; i < document.querySelectorAll('[id*="radix-"]').length; i++) {
                    let btnElements, firstBtn
                    let parentElement = document.querySelectorAll('[id*="radix-"]')[i]
                    if (parentElement) {
                        btnElements = parentElement.getElementsByClassName('btn relative btn-primary');
                        if (btnElements.length > 0) {
                            firstBtn = btnElements[0];
                            firstBtn.click()
                            OK++;
                        }
                    }
                }
            } catch { }
            if (OK == 30) {
                clearInterval(timer)
            }
        }, 200)
    }


    var Dark_hty = url => {
        // 黑暗模式
        // google 黑暗
        if (url == "www.google.com.hk" || url == "www.google.com") {
            let timer = setInterval(function () {
                let OK = 0
                try {
                    document.body.style.backgroundColor = "black"
                    document.getElementsByClassName('yg51vc')[0].style.height = "55px"
                    document.getElementsByClassName('yg51vc')[0].style.backgroundColor = "black"
                    OK = 1
                } catch { }
                if (OK == 1) {
                    clearInterval(timer)
                }
            }, 200)
        }

        // 知乎 黑暗
        if (url == "www.zhihu.com" || url == "zhuanlan.zhihu.com") {
            // 评论区懒加载,故这个计时器不请
            let timer = setInterval(function () {
                // let OK = 0
                try {
                    document.getElementsByClassName('css-1e7fksk')[0].style.background = 'black'

                    document.getElementsByClassName('css-1bi2006')[0].style.animation = 'none'


                    let alist_1ygdre8 = document.getElementsByClassName('css-1ygdre8')
                    for (let idx = 0; idx < alist_1ygdre8.length; idx++) {
                        document.getElementsByClassName('css-1ygdre8')[idx].style.color = "white"
                    }
                    let alist_1rd0h6f = document.getElementsByClassName('css-1rd0h6f')
                    for (let idx = 0; idx < alist_1rd0h6f.length; idx++) {
                        document.getElementsByClassName('css-1rd0h6f')[idx].style.color = "#bfbfbf"
                    }
                } catch { }
            }, 200)
        }

        // baidu 黑暗
        if (url == "www.baidu.com") {
            let timer = setInterval(function () {
                let OK = 0
                try {
                    document.body.style.backgroundColor = "black"


                    document.getElementById("head").style.backgroundColor = "black"
                    document.getElementsByClassName('s_tab_inner s_tab_inner_81iSw')[0].style.backgroundColor = "black"
                    OK = 1
                } catch { }
                if (OK == 1) {
                    clearInterval(timer)
                }
            }, 200)
        }

        // bilibili 黑暗
        if (url == "www.bilibili.com") {
            let timer_footer = setInterval(function () {
                let OK = 0
                try {
                    document.getElementById("comment").getElementsByClassName("comment-container")[0].style.backgroundColor = "black"
                    OK = 1
                } catch { }
                if (OK == 1) {
                    clearInterval(timer_footer)
                }
            }, 200)
        }

        // bing 黑暗
        if (url == "www.bing.com" || url == "cn.bing.com" || url == "www.bing.cn" || url == "www4.bing.com") {
            // 为了防止首页产生性能损失,在开头做了一个判断语句
            if (document.getElementsByClassName("b_searchboxForm")[0]) {
                let timer = setInterval(function () {
                    let OK = 0
                    try {
                        document.getElementById("b_header").style.backgroundColor = "black"
                        document.getElementById("b_header").style.background = "black"
                        document.getElementById("b_content").style.backgroundColor = "black"
                        document.body.style.backgroundColor = "black"
                        let a = document.getElementsByClassName("b_scopebar")[0]
                        let b = a.getElementsByTagName("ul")[0]
                        let c = b.getElementsByTagName("li")
                        for (let idx = 0; idx < c.length; idx++) {
                            let d = c[idx].getElementsByTagName("a")
                            // console.log(d[0])
                            d[0].style.color = "#ffffff"
                        }
                        OK = 1
                    } catch { }
                    if (OK == 1) {
                        clearInterval(timer)
                    }
                }, 200)
            }
            // 这里是处理 [图片]分支 的 [黑暗]
            if (document.getElementById("b_header")) {
                let timer = setInterval(function () {
                    let OK = 0
                    try {
                        document.getElementById("b_header").style.backgroundColor = "black"
                        document.getElementById("rfPane").style.backgroundColor = "black"
                        document.getElementsByClassName("dg_b")[0].style.backgroundColor = "black"
                        OK = 1
                    } catch { }
                    if (OK == 1) {
                        clearInterval(timer)
                    }
                }, 200)
            }
        }
    }

    // head事件
    var Head_hty = url => {
        // 滚动函数
        let scroll_hty = (element, scrollS) => {
            if (scrollS > 0) {
                element.slideUp(100)
            } else {
                element.slideDown(100)
            }
        }

        // bilibili head
        // b站请使用旧版模式,并配合广告插件,这样好处理
        // 不清计时器,该处懒加载,可能语句有延迟
        // 该处不放入 Head_pretreatment 是为了防止无限计时器产生
        if (url == "www.bilibili.com" && window.location.pathname.substring(window.location.pathname.indexOf("/", 0) + 1, window.location.pathname.indexOf("/", 1)) == "bangumi") {
            let timer = setInterval(function () {
                try {
                    document.getElementsByClassName("bili-header__bar")[0].style.position = 'absolute'
                } catch { }
            }, 200)
        }

        let Head_pretreatment = url => {
            // 谷歌的建议用广告插件代替,屏蔽 class: minidiv 元素即可

            // baidu head
            if (url == "baidu.com" || url == "www.baidu.com") {
                document.getElementById('head').style.position = 'absolute'
            }

            // 羽兔 head
            if (url == "www.yutu.cn") {
                document.getElementsByClassName('soft-nav')[0].style.position = 'relative'
            }

            // CSDN head
            if (url == "blog.csdn.net" || url == "stitch.blog.csdn.net" || url == "ideashare.blog.csdn.net") {
                var mutationObserver_Related_Searches = new MutationObserver(function (mutations) {
                    mutations.forEach(function (mutation) {
                        // 当DOM元素发送改变时执行的函数体
                        try {
                            document.getElementById("csdn-toolbar").style.position = 'relative'
                        } catch { }
                    })
                })
                mutationObserver_Related_Searches.observe(document.getElementById("csdn-toolbar"), {
                    attributes: true,
                    characterData: true,
                    childList: true,
                    subtree: true,
                    attributeOldValue: true,
                    characterDataOldValue: true,
                    style: true
                })
            }

            // soujianzhu head
            if (url == "soujianzhu.cn" || url == "www.soujianzhu.cn") {
                document.getElementsByClassName('ptb_st2')[0].style.position = 'absolute'
            }
        }

        Head_pretreatment(url)

        // 用滚动 处理 head 事件
        window.addEventListener("scroll", (event) => {
            let scrollS = document.documentElement.scrollTop

            // 该处是担心 head_pretreatment 加载缓慢被刷语句,故再来一次
            Head_pretreatment(url)

            // 示例代码
            // if (url == 'xxx') {
            //     if ($("#Header")) {
            //         let head = $("#Header")
            //         scroll_hty(head, scrollS)
            //     }
            // }

        })
    }

    // 其他处理
    var Other_hty = url => {
        // CSDN bode
        if (url == "blog.csdn.net" || url == "stitch.blog.csdn.net" || url == "ideashare.blog.csdn.net") {
            let timer = setInterval(function () {
                try {
                    document.getElementById("mainBox").setAttribute("class", "container clearfix container-concision")
                } catch { }
            }, 200)
        }

        // CNKI 知网 PDF 下载
        if (url == "kns.cnki.net") {
            let url_down = '', datas = document.getElementsByName('cajDown');
            for (var i = 0; i < datas.length; i++) {
                if (datas[i].innerText.indexOf("在线阅读") != -1) {
                    url_down = datas[i].href;
                    url_down = 'https://chn.oversea.cnki.net/kns/download?dflag=pdfdown' + url_down.substring(62);
                }
            }
            if (url_down != '') {
                for (i = 0; i < datas.length; i++) {
                    if (datas[i].innerText.indexOf("CAJ整本下载") != -1) {
                        datas[i].innerHTML = datas[i].innerHTML.replace('CAJ整本下载', 'CAJ下载');
                    } else if (datas[i].innerText.indexOf("整本下载") != -1) {
                        datas[i].innerHTML = datas[i].innerHTML.replace('整本下载', 'CAJ下载');
                    }
                    if (datas[i].innerText.indexOf("在线阅读") != -1) {
                        datas[i].href = url_down;
                        datas[i].innerHTML = datas[i].innerHTML.replace('在线阅读', 'PDF下载(失效)');
                    }
                }
            }
        }


        // bilibili
        if (url == "www.bilibili.com") {
            // 脚本[哔哩哔哩深色模式+工具箱(下载封面、关闭广告、调节亮度、获取av/BV号、随日出日落切换深浅色、跟随系统设置切换深浅色、关闭新版推广和赛事栏)]的 bug 调整
            // main
            try {
                document.getElementsByClassName('desc-info-text')[0].style.color = '#ffffff'
                document.getElementsByClassName('video-title')[0].style.color = '#ffffff'
                document.getElementsByClassName('up-name')[0].style.color = '#ffffff'
            } catch (error) {
                // console.log(error)
            }
            let timer_1 = setInterval(function () {
                try {

                    document.querySelectorAll('.mediainfo_mediaRight__SDOq4 .mediainfo_mediaTitle__Zyiqh')[0].style.color = 'white'
                    var elements = document.querySelectorAll('.RecommendItem_wrap__5sPoo .RecommendItem_right_wrap__DJpVw .RecommendItem_title__jBsvL')
                    elements.forEach((element) => {
                        element.style.setProperty('color', 'white', 'important');
                    });
                    var elements = document.querySelectorAll('.mediainfo_mediaRight__SDOq4 .mediainfo_media_desc__FdCrM')
                    elements.forEach((element) => {
                        element.style.setProperty('color', '#e1e1e1', 'important');
                    });
                    var elements = document.querySelectorAll('.mediainfo_mediaRight__SDOq4 .mediainfo_media_desc_section__Vkt2t .mediainfo_display_area__ggRQT .mediainfo_content__rexOq')
                    elements.forEach((element) => {
                        element.style.setProperty('color', '#e1e1e1', 'important');
                    });
                    // var elements = document.querySelectorAll('.mediainfo_mediaRight__SDOq4 .mediainfo_mediaTitle__Zyiqh');

                } catch (error) {
                    // console.log(error)
                }
            }, 1000)

            try {
                document.getElementsByClassName('main-container')[0].style.backgroundColor = 'black'
                document.querySelectorAll('.mediainfo_mediaRight__SDOq4 .mediainfo_mediaTitle__Zyiqh')[0].style.color = 'white'
                document.querySelectorAll('.RecommendItem_wrap__5sPoo .RecommendItem_right_wrap__DJpVw .RecommendItem_title__jBsvL')[0].style.color = 'white'


            } catch (error) {
                // console.log(error)
            }


            let timer_main = setInterval(function () {
                try {
                    // 颜色设置
                    document.getElementsByClassName('bili-header__channel')[0].style.setProperty('background', '#000000', 'important')
                } catch (error) {
                    // console.log(error)
                }
            }, 200)
            if (document.getElementById('bilibili-player')) {
                // bangumi
                if (url == "www.bilibili.com" && window.location.pathname.substring(window.location.pathname.indexOf("/", 0) + 1, window.location.pathname.indexOf("/", 1)) == "bangumi") {
                    let timer_bangumi = setInterval(function () {
                        try {
                            // 颜色设置
                            document.getElementsByClassName('up-name')[0].style.color = '#ffffff'
                            document.getElementsByClassName('bb-comment')[0].style.setProperty('background', '#000000', 'important')
                            for (let idx = 0; idx < document.getElementsByClassName('RecommendItem_title__zyQj0').length; idx++) {
                                document.getElementsByClassName('RecommendItem_title__zyQj0')[idx].style.color = '#ffffff'
                            }
                            document.getElementsByClassName('DanmukuBox_wrap__USrvT')[0].style.background = '#000000'
                            document.getElementsByClassName('recommend_title__miCR4')[0].style.color = '#ffffff'
                            // document.getElementsByClassName('seasonlist_ss_title__Tkrsi')[0].style.color = '#ffffff'
                            // document.getElementsByClassName('seasonlist_series_title__nPI47')[0].style.color = '#ffffff'
                            document.getElementsByClassName('mediainfo_media_desc_section__bOFBw')[0].style.color = '#ffffff'
                            document.getElementsByClassName('mediainfo_home_link__bcwpj')[0].style.color = '#ffffff'
                            document.getElementsByClassName('mediainfo_media_pub__Wm8A4')[0].style.color = '#ffffff'
                            document.getElementsByClassName('mediainfo_media_title__gcy_r')[0].style.color = '#ffffff'
                            document.getElementsByClassName('desc-info-text')[0].style.color = '#ffffff'

                            // document.getElementsByClassName('seasonlist_season_list__fMpQt')[0].style.color = '#ffffff'
                            // clearInterval(timer)
                        } catch (error) {
                            // console.log(error)
                            // clearInterval(timer)
                        }
                    }, 200)
                }
                // video
                if (url == "www.bilibili.com" && window.location.pathname.substring(window.location.pathname.indexOf("/", 0) + 1, window.location.pathname.indexOf("/", 1)) == "video") {
                    let timer_video = setInterval(function () {
                        try {
                            document.getElementsByClassName('up-name')[0].style.color = '#ffffff'
                        } catch { }
                    }, 200)
                }
            }
        }

        // google search
        if (url == "www.google.com.hk" || url == "www.google.com") {
            let timer = setInterval(function () {
                let OK = 0
                try {
                    document.getElementById("tsf").style.cssText = "--center-abs-margin: 365px"
                    document.getElementById("hdtb-msb").style.cssText = "--center-abs-margin: 0px background-color: black"
                    // 这一段是为了修改 脚本[AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列] 的bug
                    document.getElementsByClassName('AC-GoogleGridDelta-Style')[0].outerText = ''
                    OK = 1
                } catch { }
                if (OK == 1) {
                    clearInterval(timer)
                }
            }, 200)
        }

        // bing
        if (url == "www.bing.com" || url == "cn.bing.com" || url == "www.bing.cn" || url == "www4.bing.com"
        ) {
            try {
                if (window.location.search.indexOf("FORM") == 1 || window.location.search.indexOf("ensearch") == 1) {
                    window.location.href = "https://www4.bing.com"
                }
            } catch { }
            try {
                if (window.location.pathname.substring(window.location.pathname.indexOf("/", 0) + 1) != "search") {
                    document.getElementById("est_switch").style.marginLeft = '0'
                }
                document.getElementById("est_switch").style.marginTop = '0'
                document.getElementById("est_switch").style.textAlign = 'center'
                document.getElementById("est_switch").style.position = 'relative'
                document.getElementById("est_switch").style.paddingRight = '0'
            } catch { }
            // 为了防止其他页产生性能损失,在开头做了一个判断语句
            if (document.getElementsByClassName("sbox ")[0]) {
                // 首页搜索框居中
                try {
                    document.getElementsByClassName("sbox ")[0].style.margin = "0px 30% auto"
                    document.getElementsByClassName("sbox ")[0].style.position = 'inherit'
                    document.getElementsByClassName("sbox ")[0].style.top = '10%'
                } catch { }
                let timer_footer = setInterval(function () {
                    let OK = 0
                    try {
                        // 修改搜索框样式使其居中,ちょど右だ
                        document.getElementsByClassName("sbox ")[0].style.margin = "0px 30%  auto"
                        document.getElementsByClassName("sbox ")[0].style.position = 'inherit'
                        // 顺便清除下底部 footer
                        document.getElementById("footer").style.display = "none"
                        document.getElementById("vs_cont").style.display = "none"
                        OK = 1
                    } catch { }
                    if (OK == 1) {
                        clearInterval(timer_footer)
                    }
                }, 200)
            }
            // 为了防止首页产生性能损失,在开头做了一个判断语句
            if (document.getElementsByClassName("b_searchboxForm")[0]) {
                // 去除搜索时弹出的 Related Searches
                let timer_Related_Searches = setInterval(function () {
                    let OK = 0
                    try {
                        // 监听变化
                        var mutationObserver_Related_Searches = new MutationObserver(function (mutations) {
                            mutations.forEach(function (mutation) {
                                // 当DOM元素发送改变时执行的函数体
                                try {
                                    document.getElementsByClassName("b_searchboxForm as_rsform")[0].className = 'b_searchboxForm'
                                } catch { }
                                try {
                                    document.getElementsByClassName("b_focus as_rsform")[0].className = 'b_focus'
                                } catch { }
                                try {
                                    document.getElementById("as_foot").remove()
                                } catch { }
                                try {
                                    document.getElementsByClassName("sa_drw")[0].style.borderRadius = '0px 0px 24px 24px'
                                } catch { }
                            })
                        })
                        mutationObserver_Related_Searches.observe(document.getElementsByClassName("b_searchboxForm")[0], {
                            attributes: true,
                            characterData: true,
                            childList: true,
                            subtree: true,
                            attributeOldValue: true,
                            characterDataOldValue: true
                        })
                        OK = 1
                    } catch { }
                    if (OK == 1) {
                        clearInterval(timer_Related_Searches)
                    }
                }, 200)
            }
            if (document.getElementsByClassName("sbox_cn")[0]) {
                document.getElementsByClassName("sbox_cn")[0].style.marginRight = '25%'
            }
        }
    }

    // 动画处理
    var Anime_hty = url => {
        // google anime
        // 不清计时器,该处懒加载,可能语句有延迟
        if (url == "www.google.com.hk" || url == "www.google.com") {
            let timer = setInterval(function () {
                try {
                    document.getElementById("tsf").style.animationName = "null"
                } catch { }
            }, 200)
        }

        // baidu anime
        if (url == "www.baidu.com") {
            let timer = setInterval(function () {
                try {
                    document.querySelector(".head_wrapper").style.animationName = "null"
                } catch { }
                if (document.querySelector(".head_wrapper").style.animationName == "null") {
                    clearInterval(timer)
                }
            }, 200)
        }
    }

    Dark_hty(url)
    Head_hty(url)
    Other_hty(url)
    Anime_hty(url)

}