您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make life easier
当前为
// ==UserScript== // @name MWI-Equipment-Diff // @namespace http://tampermonkey.net/ // @version 0.7 // @description Make life easier // @author BKN46 // @match https://*.milkywayidle.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=milkywayidle.com // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; let equipmentToDiff = {}; const isZHInGameSetting = localStorage.getItem("i18nextLng")?.toLowerCase()?.startsWith("zh"); let isZH = isZHInGameSetting; function parseEquipmentModal(element) { const equipmentDetail = {}; const detailLines = element.querySelectorAll('.EquipmentStatsText_stat__27Sus'); for (const line of detailLines) { if (line.querySelector('.EquipmentStatsText_uniqueStat__2xvqX')) continue; const data = line.textContent.split(':'); if (data.length === 2) { const key = data[0].trim(); const value = data[1].split('(')[0].trim(); if (value === 'N/A') continue; equipmentDetail[key] = value; } } if (!element.querySelector('.diff-tooltip')) { const diffTooltip = document.createElement('div'); diffTooltip.className = 'diff-tooltip'; diffTooltip.textContent = isZH ? '按\'d\'来添加作为对比对象' : 'Press "d" to add to quick diff'; diffTooltip.style = 'color:rgb(0, 108, 158); font-weight: bold;'; element.appendChild(diffTooltip); if (equipmentToDiff.data) { const diffRemoveTooltip = document.createElement('div'); diffRemoveTooltip.className = 'diff-remove-tooltip'; diffRemoveTooltip.textContent = isZH ? '按\'r\'来移除当前对比' : 'Press "r" to remove present quick diff'; diffRemoveTooltip.style = 'color:rgb(0, 108, 158); font-weight: bold;'; element.appendChild(diffRemoveTooltip); } } return equipmentDetail; } function addDiffToModal(element, data) { if (element.querySelector('.diff-value')) return; const TextArea = element.querySelector('.EquipmentStatsText_equipmentStatsText__djKBS').firstChild; const detailLines = element.querySelectorAll('.EquipmentStatsText_stat__27Sus'); for (const line of detailLines) { const key = line.textContent.split(':')[0].trim(); const valueElement = line.querySelectorAll('span')[1]; const diffSpan = document.createElement('span'); diffSpan.className = 'diff-value'; diffSpan.style = 'color: rgb(0, 108, 158); font-weight: bold;'; if (key in equipmentToDiff.data) { const diffValue = equipmentToDiff.data[key]; diffSpan.textContent = ` (${diffValue})`; if (data[key] === diffValue) { continue; } } else { diffSpan.textContent = ` (N/A)`; } valueElement.appendChild(diffSpan); } for (const key in equipmentToDiff.data) { if (!(key in data)) { const newLine = document.createElement('div'); newLine.className = 'EquipmentStatsText_stat__27Sus'; const keySpan = document.createElement('span'); keySpan.textContent = `${key}: `; newLine.appendChild(keySpan); const valueSpan = document.createElement('span'); valueSpan.textContent = 'N/A'; newLine.appendChild(valueSpan); const diffSpan = document.createElement('span'); diffSpan.className = 'diff-value'; diffSpan.textContent = ` (${equipmentToDiff.data[key]})`; diffSpan.style = 'color: rgb(0, 108, 158); font-weight: bold;'; valueSpan.appendChild(diffSpan); TextArea.appendChild(newLine); } } } setInterval(() => { const modal = document.querySelector('.MuiPopper-root'); if (!modal) return; const equipmentDetail = modal.querySelector('.ItemTooltipText_equipmentDetail__3sIHT'); if (!equipmentDetail) return; const equipmentName = modal.querySelector('.ItemTooltipText_name__2JAHA').textContent.trim(); const equipmentData = parseEquipmentModal(equipmentDetail); if (equipmentToDiff.data) { addDiffToModal(equipmentDetail, equipmentData); } document.onkeydown = (event) => { if (event.key === 'd') { // event.preventDefault(); console.log(`Added to quick diff: ${equipmentName}`); equipmentToDiff = { data: equipmentData, name: equipmentName, }; equipmentDetail.querySelector('.diff-tooltip').textContent = isZH ? '已添加作为对比' : 'Added to quick diff'; } else if (event.key === 'r') { // event.preventDefault(); console.log(`Removed from quick diff: ${equipmentName}`); equipmentToDiff = {}; equipmentDetail.querySelector('.diff-tooltip').textContent = isZH ? '已移除对比' : 'Removed from quick diff'; } }; }, 500) })();