去掉哔哩哔哩推荐广告

去掉bilibili的推荐广告,并且播放页面自动宽屏

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

// ==UserScript==
// @name         去掉哔哩哔哩推荐广告
// @namespace    https://gf.qytechs.cn/zh-CN/users/1208108-%E8%BD%BB%E8%BD%BB%E8%AF%B4%E5%87%BA%E6%9D%A5?locale_override=1
// @version      0.3
// @description  去掉bilibili的推荐广告,并且播放页面自动宽屏
// @author       轻轻说出来
// @license      轻轻说出来
// @match        https://www.bilibili.com/
// @match        https://www.bilibili.com/index.html
// @match        https://www.bilibili.com/video/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function () {
  'use strict';

  let url = location.pathname
  if (url.includes("/index.html") || url == "/") {
    let initialHeight = window.innerHeight * 6.5
    setInterval(() => { window.innerHeight = initialHeight }, 1);
    let addStyle = document.createElement("style")
    addStyle.innerText = ` 
   .feed-card,.container>.bili-video-card.is-rcmd{margin-top:20px !important}
   .isMask { width: 100%; height: 300px; text-align: center; line-height: 300px;}
   .bili-header__bar.slide-down{backdrop-filter: blur(100px) !important;background: rgba(255,255,255,.6) !important}
   .header-channel,
   .flexible-roll-btn,
   .recommended-swipe.grid-anchor,
   .floor-single-card,
   .floor-single-card:has(> .floor-card.single-card .badge),
   .bili-video-card.is-rcmd:has(> .bili-video-card__wrap.__scale-wrap .bili-video-card__info--ad),
   .bili-video-card.is-rcmd:has(> .bili-video-card__wrap.__scale-wrap .bili-video-card__info--creative-ad),
   .bili-live-card.is-rcmd:has(> .bili-live-card__wrap .bili-live-card__info--living),
   .feed-card:has(> .bili-video-card .bili-video-card__info--ad),
   .feed-card:has(> .bili-video-card .bili-video-card__info--creative-ad),
   .desktop-download-tip
   {display:none !important}
   .bili-feed4-layout{display:none}
   body {overflow-y: hidden;}
   `
    document.head.appendChild(addStyle)

    let oldtime = new Date()
    let mask = document.createElement("div")
    mask.innerText = "加载中请稍候..."
    let time = setInterval(() => {
      if (!document.body) return
      window.scrollTo(0, document.body.scrollHeight)
      let boss = document.querySelector(".bili-feed4")
      let topHeight = document.querySelector(".bili-header.large-header")
      if (boss && topHeight && !document.querySelector(".isMask")) {
        let maskHeight = document.documentElement.clientHeight - topHeight.clientHeight
        mask.classList.add("isMask")
        mask.style.height = maskHeight + "px"
        mask.style.lineHeight = maskHeight + "px"
        boss.appendChild(mask)
      }
    }, 1);



    findElements(".container.is-version8 >[data-report='tianma.4-1-11.click']", item => {
      console.log(item);
      window.scrollTo(0, 0)
      let video = document.querySelector(".bili-feed4-layout")
      video && (video.style.display = "block")
      mask.style.display = "none"
      document.body.style.overflowY = "auto"
      clearInterval(time)
      console.log(new Date() - oldtime);
    })




    const originalFetch = window.fetch;
    window.fetch = function (url, options) {
      if (url.includes("rcmd") && options && options.method && options.method.toUpperCase() === 'GET') url = url.replace("ps=12", "ps=30");
      return originalFetch(url, options);
    };

  }
  if (url.includes("/video")) {
    let addStyle = document.createElement("style")
    addStyle.innerText = ` 
   .ad-report,
   #bilibili-player-placeholder-top,
   #bilibili-player-placeholder,
   #slide_ad,
   .bili-guide.bili-guide-all,
   .bili-vote.bili-show
   {display:none !important}

   .fixed-header .bili-header__bar{position:absolute !important}
   #playerWrap{width: 100%;height: 100vh;}
   #bilibili-player{width: 100%;height: 100%;}
   .bpx-player-top-left-title{display: block !important;}
   #mirror-vdcon{justify-content: space-around !important;}
   .bpx-player-container[data-screen=full] .bpx-player-sending-bar .bpx-player-video-info, .bpx-player-container[data-screen=web] .bpx-player-sending-bar .bpx-player-video-info{display: flex !important;color: #fff !important;}
   `

    window.addEventListener('mousewheel', function (e) { e.stopPropagation() }, true)


    async function moveElToTheTop() {
      let biliMainHeader = await findElements("#biliMainHeader")
      let playerWrap = await findElements("#playerWrap")
      let playerCenterPosition = await findElements(".bpx-player-control-bottom-center")
      let barrageArea = await findElements(".bpx-player-sending-area")
      let videoBox = await findElements(".bpx-player-container.bpx-state-no-cursor")
      setTimeout(() => {
        document.head.appendChild(addStyle)
        biliMainHeader.before(playerWrap)
        playerCenterPosition.append(barrageArea)
        barrageArea.classList.remove("bpx-player-sending-area")
        videoBox.dataset.screen = "full"
        let observer = new MutationObserver((item) => {
          let el = item[0].target
          if (el && el.dataset.screen === "normal") {
            el.dataset.screen = "full"
          }

        })
        observer.observe(videoBox, { attributeFilter: ["data-screen"] });
        window.scrollTo(0, 0)
      }, 10);

    }
    moveElToTheTop()
  }
  function findElements(name, callback) {
    return new Promise((resolve, reject) => {
      function recursion(sum = 0) {
        let item = document?.querySelector(name);
        sum += 100;
        if (item) {
          callback && callback(item);
          resolve(item);
        } else if (sum <= 20000) {
          setTimeout(() => recursion(sum), 100);
        } else {
          reject(new Error(`${name} 找不到`));
        }
      }

      recursion();
    });
  }
})();

QingJ © 2025

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