On MetaFilter.com, adds a "comment 1 of 30" to each comment.
目前為
// ==UserScript==
// @name MetaFilter number all comments
// @version 6
// @grant none
// @match http://*.metafilter.com/*
// @match https://*.metafilter.com/*
// @description On MetaFilter.com, adds a "comment 1 of 30" to each comment.
// @locale en-us
// @namespace https://greasyfork.org/users/324881
// ==/UserScript==
function addCountToComments() {
// first, clear all counts in case this runs more than once on a page.
let allCommentCountSpans = Array.from(document.getElementsByClassName('tehhundUserScriptCommentCount'));
for (let currentSpan of allCommentCountSpans) { currentSpan.remove(); }
// then add counts to every comment div.
let allCommentDivs = document.getElementsByClassName('comments');
allCommentDivs = Array.from(allCommentDivs).filter( function(div) { return div.previousSibling.tagName == 'A'; });
for (let [i,divToHighlight] of allCommentDivs.entries()) {
divToHighlight.lastChild.innerHTML += '<span class=\'tehhundUserScriptCommentCount\'>Comment ' + (i+1) + ' of ' + allCommentDivs.length + '. </span>';
}
}
// Attach event listeners
window.addEventListener('load',addCountToComments); // In case this script runs before the window load event, highlight when that event fires.
addCountToComments(); // In case this script runs after the window load event, highlight as soon as Greasemonkey runs the script.