Weiblock

Block the annoying things on Weibo.

Per 30-08-2021. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==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 });
})();