您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays the ratio of 5 star ratings on an album.
// ==UserScript== // @name RYM 5 star ratio // @namespace http://tampermonkey.net/ // @version 0.5 // @description Displays the ratio of 5 star ratings on an album. // @author You // @match https://rateyourmusic.com/release/* // @icon https://www.google.com/s2/favicons?sz=64&domain=rateyourmusic.com // @grant none // ==/UserScript== // ==UserScript== // @name RYM 5 star ratio // @namespace http://tampermonkey.net/ // @version 0.4 // @description Displays the ratio of 5 star ratings on an album. // @author You // @match https://rateyourmusic.com/release/* // @icon https://www.google.com/s2/favicons?sz=64&domain=rateyourmusic.com // @grant none // @downloadURL https://update.greasyfork.org/scripts/473783/RYM%205%20star%20ratio.user.js // @updateURL https://update.greasyfork.org/scripts/473783/RYM%205%20star%20ratio.meta.js // ==/UserScript== (function() { 'use strict'; function injectRatio() { const numRatingsElement = document.querySelector('.num_ratings'); const totalRatingsSpan = numRatingsElement?.querySelector('span'); const chartDiv = document.getElementById('chart_div'); const tdElements = chartDiv?.querySelectorAll('td'); if ( numRatingsElement && totalRatingsSpan && chartDiv && tdElements && tdElements.length > 0 && !numRatingsElement.dataset.injected ) { const totalRatings = Number(totalRatingsSpan.innerText.replace(/,/g, '')); const fiveStarRatings = Number(tdElements[tdElements.length - 1].innerText.replace(/,/g, '')); const calculatedValue = fiveStarRatings / totalRatings * 100; numRatingsElement.innerHTML += ' (' + calculatedValue.toFixed(2) + '%)'; numRatingsElement.dataset.injected = 'true'; // Mark as injected } } const observer = new MutationObserver(() => { injectRatio(); }); observer.observe(document.body, { childList: true, subtree: true }); // Initial attempt in case everything is already loaded injectRatio(); })();