您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
为每门分数计算等效绩点
// ==UserScript== // @name 杭电助手成绩显示优化 // @namespace Violentmonkey Scripts // @include https://app.hduhelp.com/* // @grant none // @version 1.09 // @author Rainbow Yang // @description 为每门分数计算等效绩点 // ==/UserScript== /*jshint esversion: 6 */ const scoreMap = new Map([ ['优秀', '5.0'], ['良好', '4.0'], ['中等', '3.0'], ['合格', '3.0'], ['及格', '2.0'], ['不及格', '0.0'], ['不合格', '0.0'], ]) const parseScore = (scoreText) => { if (isNaN(scoreText)) { return scoreMap.get(scoreText) } else { let score = parseInt(scoreText) let point = (score - 45) / 10 point = point > 5 ? 5 : point return point.toFixed(1) } } function writeGradePoint() { // 来自首页 [...document.getElementsByClassName("right")] .filter(it => !it.innerText.includes("=") && it.innerText.includes('最后总分')) .forEach(it => { let scoreText = it.innerText.split(" ")[1] it.innerText += `(=${parseScore(scoreText)})` }); [...document.getElementsByClassName('final')] .filter(it => !it.innerText.includes("=")) .forEach(it => { let scoreText = it.innerHTML.split(':')[1] it.innerHTML += `(=${parseScore(scoreText)})` }) } function main() { writeGradePoint() setInterval(writeGradePoint, 1000) } main()