Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Click All Expand Comments on Boosty To
- // @include https://boosty.to/*
- // @grant none
- // @version 1.1
- // @description 13.05.2023, 20:34:00
- // ==/UserScript==
- (function() {
- 'use strict';
- function expandComments() {
- // Поиск кнопок на основе устойчивых частей имени класса
- let showMoreButtons = this.querySelectorAll('[class^="ShowMore_showMore_"], [class^="Comment_readMore_"], [class^="Comment_repliesButton_"], [class^="Post_readMore_"]');
- for (let i = 0; i < showMoreButtons.length; i++) {
- let button = showMoreButtons[i];
- if (button.style.display !== 'none') {
- button.click();
- }
- }
- }
- let feedItemWraps = document.querySelectorAll('[class^="Feed_itemWrap_"]');
- // Функция, которая будет вызываться при добавлении новых элементов
- 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_, добавляем ему прослушиватель событий
- if (addedNode.nodeType === Node.ELEMENT_NODE && addedNode.className.includes('Feed_itemWrap_')) {
- 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);
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement