您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Calcule le temps total de lecture sur la liste des animes à voir.
当前为
// ==UserScript== // @name nautiljon-total-time // @namespace http://tampermonkey.net/ // @version 0.1 // @description Calcule le temps total de lecture sur la liste des animes à voir. // @author Ed38 // @license MIT // @match https://www.nautiljon.com/membre/a-voir,*,anime.html* // @icon https://www.google.com/s2/favicons?sz=64&domain=nautiljon.com // @grant none // ==/UserScript== (function() { 'use strict'; var counter = 0; var durationNode ; var durationText ; var numberOfEpisodes ; var hours = 0; var minutes = 0; var durationsNode=document.getElementsByClassName("t_progression") ; for (var i=0 ; i<durationsNode.length; i++) { durationText=durationsNode[i].textContent; durationText = durationText.replace(/\s+/g, ''); // remove whitespaces // Number of episodes if (durationText.match(/^(\d+)x.*/)) { numberOfEpisodes=durationText.replace(/^(\d+)x.*/,"$1"); durationText=durationText.replace(/^\d+x/,""); } else { numberOfEpisodes = 1; } // hours & minutes if (durationText.match(/^(\d+)h.*/)) { hours=durationText.replace(/^(\d+)h.*/,"$1"); minutes=durationText.replace(/^\d+h/,""); } else { hours= 0; if (durationText.match(/^(\d+)min.*/)) { minutes=durationText.replace(/^(\d+)min.*/,"$1"); } else { minutes= 0; } } counter=counter+~~numberOfEpisodes*(~~hours*60+~~minutes) ; } var counterHours=Math.trunc(counter/60); var counterMinutes=counter % 60 ; var menupage=document.getElementsByClassName("menupage"); var listingListe=document.getElementById("listingListe") ; var stats_statut=document.getElementsByClassName("stats_statut"); var counterDiv=document.createElement("div"); counterDiv.innerHTML="Temps total de lecture : "+counterHours+"h "+counterMinutes.toString().padStart(2,"0")+"min."; counterDiv.style.padding="10px"; listingListe.parentNode.insertBefore(counterDiv,listingListe); })();