View More Twitter Replies

Automatically displays replies hidden behind buttons

目前为 2020-06-07 提交的版本。查看 最新版本

// ==UserScript==
// @name         View More Twitter Replies
// @namespace    jak0723
// @version      1.3.00
// @icon         https://live.staticflickr.com/7136/7842096300_012ec6cbda_q.jpg
// @description  Automatically displays replies hidden behind buttons
// @author       JAK0723
// @include      http*://*twitter.com/*/status/*
// @license      MIT
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function () {
    'use strict';

    function findAndClick(selector, observer) {
        const elem = document.querySelector(selector);

        if (elem != null) {
            elem.click();
            observer.disconnect();
        }
    }

    const repliesSelector = "[aria-labelledby='accessible-list-0'][role='region'][class='css-1dbjc4n']"
    const viewMoreSelector = "[href*='i/status/']" +
            "[role='link']" +
            "[data-focusable='true']" +
            "[class='css-4rbku5 css-18t94o4 css-1dbjc4n r-1loqt21 r-1ny4l3l r-1j3t67a r-9qu9m4 r-o7ynqc r-6416eg'] " +
            "div span";
    const showMoreSelector = "[role='button']" +
            "[data-focusable='true']" +
            "[tabindex='0']" +
            "[class='css-18t94o4 css-1dbjc4n r-1777fci r-1jayybb r-1ny4l3l r-o7ynqc r-6416eg r-13qz1uu'] " +
            "div div span";
    const offensiveSelector = "[role='button']" +
            "[data-focusable='true']" +
            "[tabindex='0']" +
            "[class='css-18t94o4 css-1dbjc4n r-1niwhzg r-42olwf r-sdzlij r-1phboty r-rs99b7 r-1w2pmg r-1vsu8ta r-aj3cln r-1ny4l3l r-utggzx r-o7ynqc r-6416eg r-lrvibr'] " +
            "div span span";
    const moreRepliesSelector = "[role='button']" +
            "[data-focusable='true'][tabindex='0'][class='css-18t94o4 css-1dbjc4n r-1ny4l3l r-1j3t67a r-o7ynqc r-6416eg']"

    const rootNode = document.querySelector("#react-root");
    const config = {childList: true, subtree: true};

    const rootCallback = function (mutationsList, observer) {
        findAndClick(viewMoreSelector, observer);
        const repliesNode = document.querySelector(repliesSelector);

        if (repliesNode != null) {
            new MutationObserver(showMoreCallback).observe(repliesNode, config);
            new MutationObserver(offensiveCallback).observe(repliesNode, config);
            new MutationObserver(moreRepliesCallback).observe(repliesNode, config)
        }
    };

    const showMoreCallback = function (mutationsList, observer) {
        findAndClick(showMoreSelector, observer);
    };

    const offensiveCallback = function (mutationsList, observer) {
        findAndClick(offensiveSelector, observer);
        rootObserver.disconnect();
    }

    const moreRepliesCallback = function (mutationsList, observer) {
        for (let elem of document.querySelectorAll(moreRepliesSelector)) {
            elem.click();
        }
    }

    const rootObserver = new MutationObserver(rootCallback);
    rootObserver.observe(rootNode, config);
})();

QingJ © 2025

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