// ==UserScript== // @name GreasyFork用户主页显示该用户所有脚本的今日总安装次数和迄今总安装次数 // @namespace http://tampermonkey.net/ // @version 0.1 // @description GreasyFork用户主页显示该用户所有脚本的今日总安装次数和迄今总安装次数。 // @author aspen138 // @match https://greasyfork.org/*/users/* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 累加函数 function calculateTotal() { // 选择所有含数字的
元素,包括日安装和总安装 var dailyInstalls = document.querySelectorAll('dd.script-list-daily-installs > span'); var totalInstalls = document.querySelectorAll('dd.script-list-total-installs > span'); var dailyInstallsSum = 0; var totalInstallsSum = 0; // 累加日安装数字 dailyInstalls.forEach(function(installElement) { var value = parseInt(installElement.textContent, 10); if (!isNaN(value)) { dailyInstallsSum += value; } }); // 累加总安装数字 totalInstalls.forEach(function(installElement) { var value = parseInt(installElement.textContent, 10); if (!isNaN(value)) { totalInstallsSum += value; } }); return [dailyInstallsSum,totalInstallsSum]; } function displayTotal(sum) { var userHeader = document.querySelector('#about-user h2'); if (userHeader) { // 创建显示总和的元素 var totalElement1 = document.createElement('div'); totalElement1.textContent = '该用户所有脚本的今日总安装次数:' + sum[0]; // 追加显示元素到页面 userHeader.parentNode.insertBefore(totalElement1, userHeader.nextSibling); // 创建显示总和的元素 var totalElement2 = document.createElement('div'); totalElement2.textContent = '该用户所有脚本的迄今总安装次数:' + sum[1]; // 追加显示元素到页面 userHeader.parentNode.insertBefore(totalElement2, userHeader.nextSibling); } } // 计算总和 var total = calculateTotal(); // 显示总和 displayTotal(total); })();