zetlnd

Untitled

Jun 27th, 2023
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Auto Expand Comments on Boosty To
  3. // @namespace Violentmonkey Scripts
  4. // @include https://boosty.to/*
  5. // @grant none
  6. // @version 1.0
  7. // @author -
  8. // @description 13.05.2023, 20:34:00
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. function expandComments() {
  15. let showMoreButtons = this.querySelectorAll('.ShowMore_showMore_VRTFG, .Comment_readMore_2H8z2, .Comment_repliesButton_2LzyB, .Post_readMore_tFuMa');
  16. for (let i = 0; i < showMoreButtons.length; i++) {
  17. let button = showMoreButtons[i];
  18. if (button.style.display !== 'none') {
  19. button.click();
  20. }
  21. }
  22. }
  23.  
  24. let feedItemWraps = document.querySelectorAll('.Feed_itemWrap_B5r5i');
  25.  
  26. // Функция, которая будет вызываться при добавлении новых элементов
  27. let observerCallback = function(mutationsList, observer) {
  28. for(let mutation of mutationsList) {
  29. if (mutation.type === 'childList') {
  30. // Пройдемся по всем добавленным элементам
  31. for (let i = 0; i < mutation.addedNodes.length; i++) {
  32. let addedNode = mutation.addedNodes[i];
  33. // Если добавленный элемент имеет класс Feed_itemWrap_B5r5i, добавляем ему прослушиватель событий
  34. if (addedNode.nodeType === Node.ELEMENT_NODE && addedNode.classList.contains('Feed_itemWrap_B5r5i')) {
  35. addedNode.addEventListener('click', expandComments);
  36. }
  37. }
  38. }
  39. }
  40. };
  41.  
  42. // Создаем экземпляр MutationObserver
  43. let observer = new MutationObserver(observerCallback);
  44.  
  45. // Настраиваем MutationObserver на отслеживание добавления новых элементов
  46. let observerConfig = {
  47. childList: true,
  48. subtree: true
  49. };
  50.  
  51. // Запускаем MutationObserver для отслеживания изменений в DOM-дереве
  52. observer.observe(document.body, observerConfig);
  53.  
  54. // Добавляем прослушиватель событий для всех элементов, найденных в начале
  55. for (let i = 0; i < feedItemWraps.length; i++) {
  56. let feedItemWrap = feedItemWraps[i];
  57. feedItemWrap.addEventListener('click', expandComments);
  58. }
  59. })();
  60.  
Advertisement
Add Comment
Please, Sign In to add comment