stackoverflow show user reputation in comments

stackoverflow stackexchange show user reputation in comments

Per 16-09-2021. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==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();


})();