您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Use this script to see the average score of unpopular animes/mangas that have unweighted scores "N/A" on MAL.
当前为
// ==UserScript== // @name Show The Average Score For Animes/Mangas Instead Of N/A // @namespace AverageScore // @version 0.13 // @description Use this script to see the average score of unpopular animes/mangas that have unweighted scores "N/A" on MAL. // @author hacker09 // @include /^https:\/\/myanimelist\.net\/((anime|manga)(id=)?(\.php\?id=)?)(\/)?([\d]+)/ // @icon https://t3.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://myanimelist.net&size=64 // @run-at document-end // @grant none // ==/UserScript== (function() { 'use strict'; if (document.querySelector("div.score-label.score-na") !== null) { //If the N/A score exists async function GetStats() //Creates a function to get the stats { //Starts the function var url = document.querySelector("a[href*='stats']").href; //Get the stats page url const response = await fetch(url); //Fetch the stats page const html = await response.text(); //Gets the fetch response const newDocument = new DOMParser().parseFromString(html, 'text/html'); //Parses the fetch response const votes = [...newDocument.querySelectorAll(".score-stats td")].map(row => row.textContent) const scoreDictionary = {} for (let i = 1; i < votes.length; i += 2) { const vote = votes[i]; const score = votes[i - 1]; scoreDictionary[score] = vote; } for (let i in scoreDictionary) scoreDictionary[i] = Number(scoreDictionary[i].match(/.*\((\d+) votes?\)/)[1]); const totalVotes = Object.values(scoreDictionary).reduce((acc, val) => acc + val); let average = 0; for (let i in scoreDictionary) average += scoreDictionary[i] * i; var result = average /= totalVotes; document.querySelector("div.score-label.score-na").innerText = result.toFixed(2); //Show the Average Score results document.querySelectorAll("div.fl-l.score")[0].dataset.user = totalVotes + ' users'; //Show the total users that voted } //Finishes the async function var TimesExecuted = 0; //Creates a new variable window.onmousemove = async function() { //Creates a new function to run when the mouse is hovering the page TimesExecuted += 1; //Sum the amount of times that the mouse hovered the page if (TimesExecuted === 1) { //On the first time that the page is hovered GetStats(); //Starts the function GetStats } // //Finishes the if condition }; //Finishes the onmousemove event listener } //Finishes the if statement })();