网页屏蔽优化

对部分网站进行广告屏蔽与布局优化使其更顺眼

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name        网页屏蔽优化
// @namespace   Violentmonkey Scripts
// @match       https://www.toutiao.com/*
// @match       https://fanyi.baidu.com/*
// @match       https://www.bimiacg.icu/bangumi/*
// @match       https://www.mikudm.com/index.php/vod/*
// @match       https://hanime1.me/comic/*
// @match       https://cn.czmanga.com/comic/chapter/*
// @match       https://v.qq.com/*
// @match       https://www.hanjukankan.com/movie/*
// @match       https://www.thanju.com/detail/*
// @match       https://greasyfork.org/zh-CN/scripts*
// @match       https://sleazyfork.org/zh-CN/scripts*
// @match       https://www.taobao.com/*
// @match       https://weili.ooopic.com/weili_*
// @match       https://www.yrxitong.com/*
// @match       https://www.cgfxw.com/*
// @grant       none
// @version     0.0.64
// @author      YeSilin
// @license     GPL-3.0-or-later
// @icon        data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDI1NiAyNTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTIyOSA5NC41NmMxOC0zMS0xMC43Ni01Ni40Mi0xNC42OS01NS40NC0zLjE5Ljc5IDkuMjUgMzMuMjktMTMgMjguMjEtNTIuNDctMTEuOTktMTA4LjU4LTYuNzYtMTQ0LjUtMS4zMy0yNi4xMiA1LjI2LTEwLjI5LTI2LTEzLjA3LTI3LjkzLTQtMS0zNC4xMSAyNC43Ny0xNC4xIDU1LjE4YTIxLjM0IDIxLjM0IDAgMCAxIDMuOTIgMTEuNzVjLTUuMjIgMzgtNi43OSA5MS45MSAyLjM1IDk5Ljc2IDIwLjkgMTcgMTc2LjMzIDEwLjQ3IDE4OS40LTMuOTMgNy44NC02LjU1IDUtNTYuNTYtLjI2LTkzLjIyLS4wNS01LjIgMS41NC04Ljk3IDMuOTUtMTMuMDV6IiBmaWxsPSIjMTkxOTE5Ii8+PHBhdGggZD0ibTExMi40NiAyMjIuOTRjLTI5LjI1IDAtNjkuMzItMS45NC04MS42LTExLjk0bC0uMTYtLjEzYy00LjI3LTMuNjctOS4xOC0xMi05LjM1LTQ0LjYyYTQ2OS4wNyA0NjkuMDcgMCAwIDEgNC4yLTYxLjY4IDEzLjk0IDEzLjk0IDAgMCAwIC0yLjU1LTYuOTJjLTExLjEzLTE2LjkyLTEwLjc4LTM2LjE2IDEtNTIuNzkgMS4xMy0xLjc0IDEyLjE0LTE2Ljg2IDIxLjY0LTE0LjU2YTggOCAwIDAgMSAyLjYxIDEuMTZjNS4yIDMuNTQgMy44OSA5LjU0IDIuNzUgMTQuNzYtLjU1IDIuNTEtMi4yMSAxMC0xLjIgMTIuMTkuNDIuMTMgMS45NS40NyA1LjQ1LS4yM2wuMzctLjA3YzU2LjM1LTguNTQgMTA2LTguMDcgMTQ3LjQ1IDEuNDJhOC43NiA4Ljc2IDAgMCAwIDMuMjEuMjljMS4zLTIuMTkuMjktMTAuMzYgMC0xMy4xLS4yNS0yLjA2LS40Ny0zLjgzLS41MS01LjM5LS4xOS03LjY4IDUtOS41NyA2LjYyLTEwIDguMjUtMiAxNy40NyA5LjIyIDIwLjEgMTIuNzIgNiA3LjkyIDE4LjIgMjkuMSAzLjQ1IDU0LjUtMiAzLjQ1LTIuNzUgNS42OC0yLjgzIDguNTZhNTI3LjQgNTI3LjQgMCAwIDEgNSA1OC4yNGMuNjUgMjkuNDYtMyAzNy40OC03LjIyIDQxLjI3LTMuMjkgMy4zNS0xMC43NiA3LjU2LTM2LjU5IDExLjIyYTU3NS41OCA1NzUuNTggMCAwIDEgLTYwLjQ3IDQuNzRjLTUuNy4yLTEzLjEuMzYtMjEuMzcuMzZ6bS03MS4xOS0yNC4xMmM1LjggNC4wOSAzNCA5LjQgOTAuMSA3Ljg1IDUwLTEuMzggODMuMjEtNy40NCA4OC4xMy0xMS4zMWwuMjUtLjI1YzMuNjctNi41NCAzLjM0LTQ0LjQ5LTIuNjItODYuMzRhOCA4IDAgMCAxIC0uMDgtMS4xMyAzMi41OCAzMi41OCAwIDAgMSAgNS0xNy4xMWM0LjkyLTguNDcgNi4wNi0xNy4xMiAzLjM5LTI1LjdhMzUuNDkgMzUuNDkgMCAwIDAgLTIuNjYtNi4yOGMtLjQ0IDQuOTQtMiA5Ljc1LTUuODMgMTMuMjMtMyAyLjY3LTguMzggNS40MS0xNy40NSAzLjM0LTM5LjQ4LTktODctOS40NC0xNDEuMzEtMS4yMy04LjcyIDEuNzEtMTUuMzkuMjktMTkuODEtNC4yM2ExNy4xNiAxNy4xNiAwIDAgMSAtNC42NS0xMCAzMS45MiAzMS45MiAwIDAgMCAtMS43MyA0LjY1Yy0yLjQgOC4yNC0uOTMgMTYuNSA0LjM2IDI0LjU0YTI5LjI4IDI5LjI4IDAgMCAxIDUuMiAxNi4xNSA4IDggMCAwIDEgLS4wNyAxLjA5IDQ1Ny42MyA0NTcuNjMgMCAwIDAgLTQuMTQgNTguMThjLS4wMyAyNi44IDMuMzQgMzMuNTkgMy45MiAzNC41NXoiIGZpbGw9IiMxOTE5MTkiLz48cGF0aCBkPSJtMjI5IDk0LjU2YzE4LTMxLTEwLjc2LTU2LjQyLTE0LjY5LTU1LjQ0LTMuMTkuNzkgOS4yNSAzMy4yOS0xMyAyOC4yMS01Mi40Ny0xMS45OS0xMDguNTgtNi43Ni0xNDQuNS0xLjMzLTI2LjEyIDUuMjYtMTAuMjktMjYtMTMuMDctMjcuOTMtNC0xLTM0LjExIDI0Ljc3LTE0LjEgNTUuMThhMjEuMzQgMjEuMzQgMCAwIDEgMy45MiAxMS43NWMtNS4yMiAzOC02Ljc5IDkxLjkxIDIuMzUgOTkuNzYgMjAuOSAxNyAxNzYuMzMgMTAuNDcgMTg5LjQtMy45MyA3Ljg0LTYuNTUgNS01Ni41Ni0uMjYtOTMuMjItLjA1LTUuMiAxLjU0LTguOTcgMy45NS0xMy4wNXoiIGZpbGw9IiNlODNhMmEiLz48cGF0aCBkPSJtNjguNTcgMTAwLjg1YzkuMTQgMi42MiAzNi41NyAxNC40IDM5LjE5IDE4LjMzcy0xOC4yOSAyMy41Ny0zMi42NSAxNC40Yy0xNS42OS05LjE3LTE1LjY5LTM1LjM1LTYuNTQtMzIuNzN6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE4Mi4yIDEzMy41OGMtMTUuNjcgOS4xNi0zNS4yNy0xMC40Ny0zMi42NS0xNC40czMwLTE1LjcxIDM5LjE5LTE4LjMzIDkuMTQgMjMuNTYtNi41NCAzMi43M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTI3LjM0IDE4MC43MWMtNDUuNzIgMC02Ny45Mi0yNC44Ny02NC0zMS40MnMzNS4yNyAxMy4wOSA2NS4zMSAxMy4wOSA2Mi43LTE3IDY1LjMxLTEwLjQ3YzIuNjEgNS4yMy0yMC45IDI4LjgtNjYuNjIgMjguOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=
// @grant       GM_addStyle
// @grant       GM_registerMenuCommand
// @description 对部分网站进行广告屏蔽与布局优化使其更顺眼
// ==/UserScript==


(function () {
  'use strict';

  GM_registerMenuCommand("视频小窗口播放", () => {
    // 先暂停当前视频
    const video = document.querySelector('video')
    if (video) { video.pause() }

    // 然后新建 popup 小窗口
    open(document.URL, '', 'popup, location=no')
  })

  GM_registerMenuCommand("谷歌搜索此网站", () => {
    const url = `https://www.google.com/search?q=site%3A${window.location.host}`
    // 然后新标签打开
    open(url, '')
  })




  // 今日头条优化
  if (window.location.host === "www.toutiao.com") {
    let css = `
        /* 屏蔽今日头条置顶文章 */
        .feed-card-wrapper.feed-card-article-wrapper.sticky-cell{
            display: none;
        }
        
        /* 优化页眉为毛玻璃效果 */
        .search-wrapper.red .search input{
            background: rgb(235, 235, 235);
            border: 0px;
        }
        .home-container .fix-header>div {
            background: unset;
        }
        .home-container.new-style .fix-header {
            border-bottom: 1px solid rgba(0,0,0,.05);
            background: rgba(245, 245, 245, .80);
            backdrop-filter: blur(10px);
        }
        `
    GM_addStyle(css)

    // 修复今日头条个人主页兼容 DarkReader
    if (window.location.pathname.indexOf("/c/user/token/") > -1) {
      // 删掉默认的白色背景
      // document.getElementsByClassName('profile-container')[0].style.background = "none";
      document.querySelector(".profile-container").style.background = "none";
      // 修改搜索框的背景颜色,即使改了也会被 DarkReader 修改成其他值以符合他的主题
      document.querySelector(".search>input").style.backgroundColor = "#eee";

    }
    return
  }


  // 百度翻译优化
  if (window.location.host === "fanyi.baidu.com") {
    let css = ""
    // 如果是新版
    if (window.location.pathname.indexOf("/mtpe-individual/") > -1) {
      css = `
            /* 屏蔽右侧广告 */
            .UMjeGiEI {
              display: none !important;
            }

            /* 屏蔽顶部开通会员广告 */
            .URCZyDIb {
              display: none !important;
            }
            /* 屏蔽顶部企业版广告 */
            ._U9afNhR{
              display: none !important;
            }

            /* 屏蔽页尾广告 */
            .jIoZrIPe {
              display: none !important;
            }
            
            /* 优化 AI 大模型翻译兼容 DarkReader*/
            #root {
              background-image: unset !important;
            }
            #multiContainer {
              background-image: unset !important;
            }

            /* AI大模型翻译·基础版 */          
            .sRKHr8FI{
              display: none !important;
            }
   
            /* AI翻译专家增强版 */             
            .ctchA9_F{
              display: none !important;
            }
            /* 启用AI能力 */   
            div.qJU3axmS > div:nth-child(1){
              display: none !important;
            }
            /* 屏蔽点击拖拽上传提示 */
            .LSOa73BQ.VwC7zyZq{
              display: none !important;
            }
            `
      // 删除多余的渐变以便兼容 DarkReader
      // document.querySelector('.in7aMwxd').classList.remove('in7aMwxd');
      //document.querySelector("div.kXQpwTof > div > span > span > span:nth-child(1) > div").innerHTML = '请输入文本、网址、arXiv链接或粘贴图片秒翻'

    } else {

      css = `
            /* 屏蔽企业服务 */
            .menuItem{
                display: none !important;
            }
            /* 屏蔽左侧广告 */
            #app-read{
                display: none !important;
            }
            /* 屏蔽右侧广告 */
            #sideBannerContainer{
                display: none !important;
            }
            /* 屏蔽人工翻译按钮 */
            .manual-trans-btn{
                display: none !important;
            }
            /* 屏蔽ai翻译按钮 */
            .ai-trans-btn{
                display: none !important;
            }
            /* 屏蔽页尾联系我们 */
            .follow-wrapper {
                display: none !important;
            }
            /* 减小导航栏的最小宽度 */
            .pc-fanyi-navigation-bar {
                min-width: 950px;
            }
            @media(max-width: 1253px) {
                /* 减小顶部宽度 */
                .container {
                    width: 100%;
                }
                /* 减小左边距 */
                .container .inner {
                    margin: 0 25px;
                    transition: all 0.3s;
                }
                /* 屏蔽左侧导航 */
                #side-nav .nav-ol {
                    display: none !important;
                }
            }
            @media(min-width: 1254px)and (max-width:1506px) {
                .container .inner {
                    transition: all 0.3s;
                }
            }`

      // 屏蔽顶部开通会员广告
      document.querySelector("#nav_bar_vip_btn").remove()

      // 屏蔽右侧意见反馈
      document.querySelector("#index-feedback-btn").style.visibility = "hidden"

      // 屏蔽右侧APP下载推荐
      document.querySelector(".sideQrContainer").style.visibility = "hidden"

      // 屏蔽页尾产品展示
      document.querySelector("#footer-products-container").remove()

    }

    GM_addStyle(css)
    return
  }





  // 哔咪动漫优化
  if (window.location.host === "www.bimiacg.icu") {

    // 显示完整的剧情介绍
    if (window.location.pathname.indexOf("/bangumi/bi/") > -1) {
      let synopsis = document.querySelector("#synopsis_txt+p")
      let jianjie = document.querySelector(".vod-jianjie>p")
      if (synopsis.innerText != jianjie.innerText) {
        synopsis.innerText = jianjie.innerText
      }
      return
    }

    let css = `
        /* 屏蔽移动字幕广告 */
        body > section > div.main > marquee{
            display: none !important;
        }`
    GM_addStyle(css)

    // 自动跳过推荐下载安卓客户端
    // document.querySelector("#video>div>div>p>a").click()
    $("#bkcl").remove();

    return
  }


  // 异世界动漫优化
  if (window.location.host === "www.mikudm.com") {
    let css = `
        /* 屏蔽二维码广告 */
        a[href="https://www.mikudm.com/index.php/vod/detail/id/2187.html"] {
            display: none !important;
        }`
    GM_addStyle(css)


    // 详情页
    if (location.pathname.indexOf("/index.php/vod/detail/id/") > -1) {
      let css = `
            /* 屏蔽保存到浏览器 */
            .text_muted.pull_right.hidden_xs {
                display: none !important;
            }
            /* 屏蔽分享按钮 */
            .playbtn.o_share.hidden_xs {
                display: none !important;
            }
            /* 屏蔽支援网站 */
            li[title="支援网站"] {
                display: none !important;
            }`
      GM_addStyle(css)

      // 优化简介直接显示完整的剧情介绍
      document.querySelector(".desc.hidden_xs").innerHTML = '<span class="left text_muted">简介:</span>' + document.querySelector(".content_desc.full_text.clearfix > span").innerText
      return
    }
    // 播放页
    if (location.pathname.indexOf("/index.php/vod/play/id/") > -1) {
      return
    }
    return
  }



  // Hanime1 优化
  if (window.location.href.indexOf("https://hanime1.me/comic/") > -1) {

    let css = `
        /*删除漫画广告*/
        .comics-banner-ads {
            display: none !important;
        }
        
        /*漫画显示原始大小*/
        #current-page-image {
            max-height: 100%;
        }`
    GM_addStyle(css)
    return
  }

  // 包子漫画优化
  if (window.location.href.indexOf("https://cn.czmanga.com/comic/chapter/") > -1) {
    // 监听方向盘上下两键增加滚动距离
    document.addEventListener('keydown', function (event) {
      // 浏览器内部界面的高度
      const innerHeight = window.innerHeight
      if (event.key == 'ArrowDown') {
        event.preventDefault()
        scrollBy({
          top: innerHeight / 2,
          left: 0,
          behavior: "smooth",
        });
      } else if (event.key == 'ArrowUp') {
        event.preventDefault()
        window.scrollBy({
          top: -(innerHeight / 2),
          left: 0,
          behavior: "smooth",
        });
      } else {
        return
      }
    })
    return
  }


  // 腾讯视频优化
  if (window.location.host === "v.qq.com") {
    let css = `
        /* 屏蔽左侧栏 NBA */
        a[href="/channel/nba"] {
            display: none !important;
        }
        /* 屏蔽左侧栏体育 */
        a[href="/channel/sports_new"] {
            display: none !important;
        }
        /* 屏蔽左侧栏游戏中心 */
        a[href="https://iwan.video.qq.com/game-community/game-center/home?ztid=km53eytfwg&iwankey=iwan_pc_channel-10029421_rpk"] {
            display: none !important;
        }
        /* 屏蔽左侧栏游戏 */
        a[href="/channel/game_new"] {
            display: none !important;
        }
        /* 屏蔽左侧栏传奇游戏库 */
        a[href="https://iwan.video.qq.com/game-community/game-center/home?ztid=p7hq7qfq2m&iwankey=iwan_pc_channel-10086082_rpk"] {
            display: none !important;
        }
        /* 屏蔽左侧栏 F1 */
        a[href="https://v.qq.com/s/topic/v_sports/render/uX0ceyb1.html"] {
            display: none !important;
        }
        /* 屏蔽左侧栏艺术 */
        a[href="/channel/art"] {
            display: none !important;
        }
        /* 屏蔽左侧栏财经 */
        a[href="/channel/finance"] {
            display: none !important;
        }
        /* 屏蔽左侧栏棋牌游戏库 */
        a[href="https://iwan.video.qq.com/game-community/game-center/home?ztid=r9b76oy3p4&iwankey=iwan_channel-10357146_rpk"] {
            display: none !important;
        }
        `
    GM_addStyle(css)
    return
  }


  // 韩剧看看优化
  if (window.location.href.indexOf("https://www.hanjukankan.com/movie/") > -1) {
    // 优化简介直接显示完整的剧情介绍
    document.querySelector(".sketch.hidden-sm.hidden-xs").innerHTML = document.querySelector("#jq .myui-panel_bd").innerHTML
    return
  }



  // 看韩剧优化
  if (window.location.href.indexOf("https://www.thanju.com/detail/") > -1) {
    // 优化简介直接显示完整的剧情介绍
    document.querySelector(".desc.hidden-xs").innerHTML = `\<span class="left text-muted">简介:</span>` + document.querySelector(".sketch.content").innerText.replace("剧情:", "")
    return
  }


  // GreasyFork 优化
  if (document.URL.indexOf("https://greasyfork.org/zh-CN/scripts") > -1 || document.URL.indexOf("https://sleazyfork.org/zh-CN/scripts") > -1) {
    // 优化脚本列表中链接以新标签方式打开
    document.querySelectorAll("#browse-script-list > li > article > h2 > a").forEach((element) => {
      element.target = "_blank"
    })
    document.querySelectorAll("#browse-script-list > li > article > div > dl > dd.script-list-author > span > a").forEach((element) => {
      element.target = "_blank"
    })
    return
  }


  // 淘宝优化
  if (window.location.host === "www.taobao.com") {
    let css = `
        /* 优化首页背景兼容 DarkReader */
        body {
            background-image: none !important;
        }`
    GM_addStyle(css)
    return
  }

  // 我图网优化
  if (location.href.indexOf("https://weili.ooopic.com/weili_") > -1) {
    let css = `
        /* 屏蔽详情页广告 */
        .wt-activeTopBanner {
            display: none !important;
        }
        div.wt-detailsHd > div.wt-detailsRight.v1 {
            display: none !important;
        }
        
        div.wt-detailsPack-hd > div.wt-pk-titWrap {
          display: none !important;
        }

        /* 屏蔽剪切蒙版字体兼容 DarkReader */
        .wt-detailsPack-hd .wt-pk-colList .wt-pk-colItem.on .wt-pk-price b{
            color: var(--red-color) !important;
            background :  unset !important;
            -webkit-background-clip:  unset !important;
            -webkit-text-fill-color: unset !important;
        }
        .wt-detailsPack-hd .wt-pk-colList .wt-pk-price b{
            background :  unset !important;
            -webkit-background-clip:  unset !important;
            -webkit-text-fill-color: unset !important;
        }
         `
    GM_addStyle(css)
    return
  }

  // 小鱼儿系统优化
  if (window.location.host === 'www.yrxitong.com') {
    let css = `
        /* 屏蔽详情页广告 */
        #web {
            background: none !important;
        }
        `
    GM_addStyle(css)
    return
  }

  // CG分享网优化 width: 120px; font-size: 16px;
  if (window.location.host === 'www.cgfxw.com') {
    const css = `
      #btn-search{
        height: 28px;
        border: 0;
        margin-left: 10px;
        border-radius: 3px;
        color: #fff;
        background-color: #429296;
        /* 修改鼠标指针样式 */
        cursor: pointer;
      }
      `
    GM_addStyle(css)
    // 加一个谷歌搜索按钮
    const newButton = `<td><button id='btn-search' >用谷歌搜索</button></td>`
    document.querySelector("#scbar_form > table > tbody > tr > td.scbar_btn_td").insertAdjacentHTML('afterend', newButton);

    // 监听点击事件
    document.querySelector('#btn-search').addEventListener('click', (event) => {
      event.preventDefault();
      // console.log('按钮被点击了,但不会提交表单');
      // 在这里添加你的自定义逻辑

      const url = `https://www.google.com/search?q=site%3Awww.cgfxw.com+${document.querySelector("#scbar_txt").value}`
      // 然后新标签打开
      open(url, '')
    });

    return
  }
})()