soup.io: Display hidden elements

Shows hidden reactions, reposts, icons and dates on soup.io pages

От 27.03.2018. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name soup.io: Display hidden elements
// @namespace    http://xcvbnm.org/
// @author Nordern
// @description Shows hidden reactions, reposts, icons and dates on soup.io pages
// @version 4.1
// @match http://*.soup.io/*
// @match https://*.soup.io/*
// @license public domain
// ==/UserScript==
/* 
 * Available on github under: https://github.com/edave64/souplements/blob/master/showHiddenElements.js
 * Using the infinite scrolling support template: https://github.com/edave64/souplements/blob/master/infiniteScrollingTemplate.js
 */
 
(function () {
    function customCode () {
        [].forEach.call(
            document.querySelectorAll('.hide-reposted-by,.icons.hidden,.date.hidden,.hide-tags'),
            function (ele) {
                ele.classList.remove('hide-reposted-by');
                ele.classList.remove('hide-tags');
                ele.classList.remove('hidden');
            }
        );
    }

    // Reduces calls to customCode by limiting it to execute once per javascript activity and stops it from calling
    // itself.
    var _runner = null;
    function runDelayed () {
        if (_runner === null) {
            _runner = setTimeout(function () {
                try {
                    customCode();
                } finally {
                    _runner = null;
                }
            }, 0);
        }
    }
    function register () {
        customCode();
        new MutationObserver(runDelayed).observe(
            document.getElementById('contentcontainer'), {
                childList: true,
                subtree: true
            }
        );
    }
    // Is the soup page already loaded? This allows the custom code to run as both a bookmarklet and a userscript.
    if (document.getElementById('contentcontainer')) {
        register();
    } else {
        document.addEventListener("load", register);
    }
}());