Weiblock

Block the annoying things on Weibo.

目前為 2021-08-30 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name               Weiblock
// @name:zh-CN         Weiblock
// @namespace          http://tampermonkey.net/
// @version            0.1
// @description        Block the annoying things on Weibo.
// @description:zh-CN  去除微博上烦人的东西。
// @author             lujjjh
// @include            https://weibo.com/*
// @grant              none
// @run-at             document-start
// ==/UserScript==

(function () {
  "use strict";
  const observer = new MutationObserver((mutationList, _observer) => {
    for (const mutation of mutationList) {
      if (mutation.type !== "childList") continue;
      for (let node of mutation.addedNodes) {
        if (!(node instanceof HTMLElement)) continue;
        if (node.classList.contains("Frame_right_2tQRB")) {
          // Uncheck the autoplay switch.
          node
            .querySelector(".VideoList_switch_1-TPG .woo-switch-checked")
            ?.click();
          // Show the comments by default.
          node.querySelector(".Index_tabitem_17MDI > div")?.click();
        } else if (node.classList.contains("AfterPatch_bg_34rqc")) {
          // Remove the annoying audio and popup when a video is finished.
          node.remove();
        }
      }
    }
  });

  observer.observe(document.documentElement, { childList: true, subtree: true });
})();