stackoverflow show user reputation in comments

stackoverflow stackexchange show user reputation in comments

Versione datata 16/09/2021. Vedi la nuova versione l'ultima versione.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         stackoverflow show user reputation in comments
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description   stackoverflow stackexchange show user reputation in comments
// @author        批小将
// @match         https://*.stackexchange.com/*
// @match         https://stackoverflow.com/*
// @grant         none
// ==/UserScript==

(function() {
    'use strict';
    let timeout = 1000; //you can customize this timeout based on your ajax network speed
    let repTemplate = `<span class="reputation-score" title="reputation score " dir="ltr"> %reputation%</span>`;

    function getRep(userReputations){
        for(let i = 0; i < userReputations.length; i++){
            let rep = userReputations[i].title.split(' ')[0];
            let repHtml = repTemplate.replace('%reputation%', rep);
            userReputations[i].parentNode.insertAdjacentHTML('beforeend', repHtml);
        }
    }

    let showMoreCommentsElements = document.querySelectorAll('a.js-show-link.comments-link');
    for(let i = 0; i < showMoreCommentsElements.length; i++){
        showMoreCommentsElements[i].addEventListener('click', function(event){
            setTimeout(function(){
                let users = event.target.parentNode.parentNode.querySelectorAll('span.comment-copy + div > a');
                getRep(users);
            }, timeout);//timeout variable is used here.
        });
    }

    function main(){
        let allUsers = document.querySelectorAll('a.comment-user');
        getRep(allUsers);
    }

    main();


})();