Auto Expand Comments on Boosty To

13.05.2023, 20:34:00

目前為 2023-12-24 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Auto Expand Comments on Boosty To
// @include        https://boosty.to/*
// @grant       none
// @version     1.0
// @description 13.05.2023, 20:34:00
// @namespace https://gf.qytechs.cn/users/789838
// ==/UserScript==

(function() {
    'use strict';

    function expandComments() {
        let showMoreButtons = this.querySelectorAll('.ShowMore_showMore_VRTFG, .Comment_readMore_2H8z2, .Comment_repliesButton_2LzyB, .Post_readMore_tFuMa');
        for (let i = 0; i < showMoreButtons.length; i++) {
            let button = showMoreButtons[i];
            if (button.style.display !== 'none') {
                button.click();
            }
        }
    }

    let feedItemWraps = document.querySelectorAll('.Feed_itemWrap_B5r5i');

    // Функция, которая будет вызываться при добавлении новых элементов
    let observerCallback = function(mutationsList, observer) {
        for(let mutation of mutationsList) {
            if (mutation.type === 'childList') {
                // Пройдемся по всем добавленным элементам
                for (let i = 0; i < mutation.addedNodes.length; i++) {
                    let addedNode = mutation.addedNodes[i];
                    // Если добавленный элемент имеет класс Feed_itemWrap_B5r5i, добавляем ему прослушиватель событий
                    if (addedNode.nodeType === Node.ELEMENT_NODE && addedNode.classList.contains('Feed_itemWrap_B5r5i')) {
                        addedNode.addEventListener('click', expandComments);
                    }
                }
            }
        }
    };

    // Создаем экземпляр MutationObserver
    let observer = new MutationObserver(observerCallback);

    // Настраиваем MutationObserver на отслеживание добавления новых элементов
    let observerConfig = {
        childList: true,
        subtree: true
    };

    // Запускаем MutationObserver для отслеживания изменений в DOM-дереве
    observer.observe(document.body, observerConfig);

    // Добавляем прослушиватель событий для всех элементов, найденных в начале
    for (let i = 0; i < feedItemWraps.length; i++) {
        let feedItemWrap = feedItemWraps[i];
        feedItemWrap.addEventListener('click', expandComments);
    }
})();

QingJ © 2025

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