NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name hvTrainer // @name:zh-CN 【HV】训练 // @author Dodying // @namespace https://github.com/dodying/Dodying-UserJs // @supportURL https://github.com/dodying/Dodying-UserJs/issues // @icon https://raw.githubusercontent.com/dodying/UserJs/master/Logo.png // @include http*://hentaiverse.org/* // @include http*://alt.hentaiverse.org/* // @version 1.01b // @grant none // @run-at document-end // ==/UserScript== (function () { var dateObj = new Date(); var countdownBox = document.createElement('div'); countdownBox.className = 'trainCountdown'; countdownBox.style.cssText = 'font-weight:bold;font-size:large;'; $('div.clb').appendChild(countdownBox); if (!$('#progress_counter_1')) { //不位于训练界面或训练完成 var timeEnd = localStorage.timeEnd || ''; if (timeEnd === '' || timeEnd <= dateObj.getTime()) { //训练完成 $('.trainCountdown').innerHTML = '<a href="/?s=Character&ss=tr">Train Completed</a>'; document.title = 'Train Completed'; } else { //不位于训练界面 var timeLast = parseInt((timeEnd - dateObj.getTime()) / 1000); $('.trainCountdown').innerHTML = timeLast; var timeDecrease = 0; var timeUpdateIntarval = setInterval(timeUpdate, 1000); } } else { //位于训练界面且训练中 var nowTraining = $('#mainpane>div>table>tbody>tr>td>strong').innerText; var nowTrainingProcess = $('#progress_counter_1').innerText; var traningItems = document.querySelectorAll('#trainform tr>td:nth-child(1) .fd4>div'); for (var i = 0; i < traningItems.length; i++) { if (traningItems[i].innerText === nowTraining) break; } var timeAll = parseInt($('#trainform tbody>tr:nth-child(' + (i + 2) + ')>td:nth-child(4) .fd4>div').innerText); var timeLast = parseInt(timeAll * (1 - 0.01 * nowTrainingProcess) * 60 * 60); localStorage.timeEnd = dateObj.getTime() + timeLast * 1000; $('.trainCountdown').innerHTML = timeLast; var timeDecrease = 0; var timeUpdateIntarval = setInterval(timeUpdate, 1000); } function timeUpdate() { timeDecrease++; if (timeLast <= timeDecrease) { $('.trainCountdown').innerHTML = '<a href="/?s=Character&ss=tr">Train Completed</a>'; document.title = 'Train Completed'; clearInterval(timeUpdateIntarval); } else { var timeCountdownNow = timeLast - timeDecrease; var second = Math.floor(timeCountdownNow % 60); if (second < 10) second = '0' + second.toString(); var minite = Math.floor((timeCountdownNow / 60) % 60); if (minite < 10) minite = '0' + minite.toString(); var hour = Math.floor((timeCountdownNow / 3600) % 24); if (hour < 10) hour = '0' + hour.toString(); $('.trainCountdown').innerText = hour + ':' + minite + ':' + second; } } function $(e) { return document.querySelector(e); } }) ();