您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
-
当前为
// ==UserScript== // @name Ignore 10 // @namespace http://tampermonkey.net/ // @version 0.0.4 // @description - // @author chabab // @match https://shikimori.one/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license MIT // ==/UserScript== 'use strict'; function insertBlock(source, scoresNum) { console.log('insert') const malScore = document.querySelector('.scores'); malScore.style.alignItems = 'center'; const malScoreInfo = document.createElement('p'); malScoreInfo.innerHTML = `На основе оценок MAL`; malScoreInfo.setAttribute('style', 'margin-bottom: 15px;'); malScore.appendChild(malScoreInfo); const bRate = document.querySelector('.scores .b-rate'); bRate.setAttribute('id', 'MAL-rate'); const sourceScore = bRate.cloneNode(true); sourceScore.setAttribute('id', `${source}-rate`); const scoreInfo = document.createElement('p'); scoreInfo.innerHTML = `На основе ${scoresNum} оценок ${source}`; scoreInfo.setAttribute('style', 'margin-bottom: 12px'); malScore.appendChild(sourceScore); malScore.appendChild(scoreInfo); const blockParent = malScore.parentElement; const scoresHeader = document.createElement('div'); const textHeader = document.querySelector('.block .m5'); const button = document.createElement('div'); const buttonText = document.createElement('span'); //textHeader.style.padding = '0px'; //textHeader.style.margin = '0px'; textHeader.style.width = '-moz-available'; //buttonText.innerText = 'w/ 10'; button.appendChild(buttonText); button.style.position = 'unset'; button.style.height = 'fit-content' button.style.alignContent = 'center'; scoresHeader.setAttribute('id', 'ignore-10'); scoresHeader.style.display = 'flex'; scoresHeader.style.alignItems = 'center'; scoresHeader.style.marginBottom = '12px'; button.classList.add('b-link_button'); scoresHeader.append(button); blockParent.insertBefore(scoresHeader, malScore); scoresHeader.insertBefore(textHeader, button); return [button, buttonText]; }; function appendShikiRating() { console.log('append') if (document.querySelector('#Shiki-rate')) { console.log('Shiki rating block already exists. Skipping.'); return; } let isIgnore = false; const shikiDataBlock = document.querySelector('#rates_scores_stats'); if (!shikiDataBlock) { return ; } const shikiDataJSON = shikiDataBlock.getAttribute('data-stats') const shikiData = JSON.parse(shikiDataJSON); let shikiElemSum = 0; let shikiElemCount = 0; let shikiElemSumDiff = 0; let shikiElemCountDiff = 0; /* for (const elem of shikiData) { if (elem[0] == '10') { continue } else { shikiElemSum += (elem[0] * elem[1]) shikiElemCount += elem[1] } } */ for (const elem of shikiData) { //debugger if (elem[0] == '10') { shikiElemSum += (elem[0] * elem[1]) shikiElemCount += elem[1] shikiElemSumDiff = elem[0] * elem[1]; shikiElemCountDiff = elem[1] } shikiElemSum += (elem[0] * elem[1]) shikiElemCount += elem[1] } let shikiAvgScore = shikiElemSum / shikiElemCount; //let shikiAvgScoreDiff = const shikiBlock = insertBlock("Shiki", shikiElemCount); let textScore = document.querySelector('#Shiki-rate .text-score .score-value'); let starScore = document.querySelector('#Shiki-rate .stars-container .stars'); starScore.setAttribute('style', 'color: rgb(68, 85, 102)') let oldStarClass = Array.from(starScore.classList).find(c => c.startsWith('score-')); if (oldStarClass) { starScore.classList.remove(oldStarClass); } let oldTextClass = Array.from(textScore.classList).find(c => c.startsWith('score-')); if (oldTextClass) { textScore.classList.remove(oldTextClass); } let textScoreDec = Math.round(shikiAvgScore); textScore.innerHTML = shikiAvgScore.toFixed(2); textScore.classList.add(`score-${textScoreDec}`) starScore.classList.add(`score-${textScoreDec}`); if (isIgnore == false) { shikiBlock[1].innerText = 'w/o 10' } shikiBlock[0].addEventListener('click', () => { if (isIgnore == false) { isIgnore = true; shikiBlock[1].innerText = 'w/ 10'; oldStarClass = Array.from(starScore.classList).find(c => c.startsWith('score-')); if (oldStarClass) { starScore.classList.remove(oldStarClass); } oldTextClass = Array.from(textScore.classList).find(c => c.startsWith('score-')); if (oldTextClass) { textScore.classList.remove(oldTextClass); } shikiElemSum = shikiElemSum - shikiElemSumDiff shikiElemCount = shikiElemCount - shikiElemSumDiff shikiAvgScore = shikiElemSum / shikiElemCount console.log(shikiElemSum, shikiElemCount, shikiAvgScore, shikiElemSumDiff, shikiElemCountDiff) textScoreDec = Math.round(shikiAvgScore); textScore.innerHTML = shikiAvgScore.toFixed(2); textScore.classList.add(`score-${textScoreDec}`); starScore.classList.add(`score-${textScoreDec}`); console.log("if: ", isIgnore, shikiAvgScore) //shikiElemSum -= (shikiData[0][0] * shikiData[0][1]) } else { isIgnore = false; shikiBlock[1].innerText = 'w/o 10'; oldStarClass = Array.from(starScore.classList).find(c => c.startsWith('score-')); if (oldStarClass) { starScore.classList.remove(oldStarClass); } oldTextClass = Array.from(textScore.classList).find(c => c.startsWith('score-')); if (oldTextClass) { textScore.classList.remove(oldTextClass); } shikiElemSum = shikiElemSum + shikiElemSumDiff shikiElemCount = shikiElemCount + shikiElemSumDiff shikiAvgScore = shikiElemSum / shikiElemCount textScoreDec = Math.round(shikiAvgScore); textScore.innerHTML = shikiAvgScore.toFixed(2); textScore.classList.add(`score-${textScoreDec}`); starScore.classList.add(`score-${textScoreDec}`); console.log("else: ", isIgnore, shikiAvgScore) } }) console.log(isIgnore) }; function ready(fn) { document.addEventListener('page:load', fn); document.addEventListener('turbolinks:load', fn); if (document.attachEvent ? document.readyState === "complete" : document.readyState !== "loading") { fn(); } else { document.addEventListener('DOMContentLoaded', fn); } } ready(appendShikiRating);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址