您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Trophymanager: hide the players who buy wholesale to focus on the main squad
// ==UserScript== // @name TMVN Squad Hide // @version 3 // @namespace https://trophymanager.com // @description Trophymanager: hide the players who buy wholesale to focus on the main squad // @match https://trophymanager.com/club/*/squad/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; const DEFAULT_KEEP_RANGE = [[1, 39]]; const RANGE_NUMBER_INVALID_ALERT = 'Range value has form [[a, b], [c, d], [e, f]] with 1 or more pairs of [x, y], x & y > 0 and are integer'; const LOCAL_STORAGE_KEY = 'TMVN_SQUAD_HIDE_NUMBER'; const HIDE_DIV_ID = 'tmvn_script_squad_hide_div_id'; const INPUT_ID = 'tmvn_script_squad_hide_input'; const BUTTON_ID = { SAVE: 'tmvn_script_squad_save_button', HIDE: 'tmvn_script_squad_hide_button', } const BUTTON_HIDE_TEXT = { HIDE: 'Hide', SHOW: 'Show' } try { $('.banner_placeholder.rectangle')[0].parentNode.removeChild($('.banner_placeholder.rectangle')[0]); } catch (err) {} let divContainer = $('.column1')[0]; let hideArea = '<div class="box">' + '<div class="box_head"><h2 class="std">HIDE</h2></div>' + '<div class="box_body">' + '<div class="box_shadow"></div>' + '<div id="' + HIDE_DIV_ID + '" class="content_menu"></div>' + '<div class="box_footer"><div></div></div>' + '</div>'; $(".column1").append(hideArea); let hideArea_content = '<table>'; hideArea_content += '<tr><td style="text-align: center;">'; hideArea_content += '<input type="checkbox" name="main-team-checkbox" id="main-team-checkbox" value="Main" checked> Main team'; hideArea_content += '<input type="checkbox" name="b-team-checkbox" id="b-team-checkbox" value="B" checked> B team'; hideArea_content += '</td></tr>'; hideArea_content += '<tr><td style="text-align: center;">'; hideArea_content += '<input type="checkbox" name="shirt-number" id="shirt-number" value="Shirt" checked> Shirt'; hideArea_content += '<input id="' + INPUT_ID + '" type="text" class="embossed" style="width: 120px; line-height: 150%; padding: 3px 3px 4px 3px;" placeholder="Number to keep">'; hideArea_content += '</td></tr>'; hideArea_content += '<tr><td style="text-align: center;">'; hideArea_content += '<span id="' + BUTTON_ID.SAVE + '" class="button" style="margin-left: 3px;"><span class="button_border">Save</span></span>'; hideArea_content += '<span id="' + BUTTON_ID.HIDE + '" class="button" style="margin-left: 3px;"><span class="button_border">' + BUTTON_HIDE_TEXT.HIDE + '</span></span>'; hideArea_content += '</td></tr>'; hideArea_content += '</table>'; $("#" + HIDE_DIV_ID).append(hideArea_content); let keepRange; getKeepRangeFromLocalStorage(); document.getElementById(BUTTON_ID.SAVE).addEventListener('click', (e) => { save(); }); document.getElementById(BUTTON_ID.HIDE).addEventListener('click', (e) => { toggle(); }); function toggle() { let btn = $('#' + BUTTON_ID.HIDE)[0]; let mainTeamShow = $('#main-team-checkbox').is(':checked'); let bTeamShow = $('#b-team-checkbox').is(':checked'); let shirtFilter = $('#shirt-number').is(':checked'); let keepRange; if (shirtFilter) { let inputValue = $('#' + INPUT_ID)[0].value; if (inputValue == '') { alert('Input shirt number ranges into textbox'); return; } if (!isValidRangeNumber(inputValue)) { alert(RANGE_NUMBER_INVALID_ALERT); return; } keepRange = JSON.parse(inputValue); } if (btn.innerText == BUTTON_HIDE_TEXT.HIDE) { let tdNumberArr = $('.align_center.minishirt.small'); for (let i = 0; i < tdNumberArr.length; i++) { let trNode = tdNumberArr[i].parentNode; let number = tdNumberArr[i].innerText; let bTeam = trNode.querySelector('span.b_team_icon') != null; if (!bTeamShow && bTeam) { trNode.style.display = 'none'; } else if (!mainTeamShow && !bTeam) { trNode.style.display = 'none'; } else if (shirtFilter) { let isValidNumber = false; for (let j = 0; j < keepRange.length; j++) { if (Number(number) >= keepRange[j][0] && Number(number) <= keepRange[j][1]) { isValidNumber = true; } } if (!isValidNumber) { trNode.style.display = 'none'; } } } btn.children[0].innerText = BUTTON_HIDE_TEXT.SHOW; } else { let tdNumberArr = $('.align_center.minishirt.small'); for (let i = 0; i < tdNumberArr.length; i++) { tdNumberArr[i].parentNode.style.display = ''; } btn.children[0].innerText = BUTTON_HIDE_TEXT.HIDE; $("#main-team-checkbox").prop("checked", true); $("#b-team-checkbox").prop("checked", true); $("#shirt-number").prop("checked", true); } } function getKeepRangeFromLocalStorage() { try { let lsData = localStorage.getItem(LOCAL_STORAGE_KEY); if (lsData == null || lsData == "") { lsData = DEFAULT_KEEP_RANGE; } else if (isValidRangeNumber(lsData)) { lsData = JSON.parse(lsData); } else { lsData = DEFAULT_KEEP_RANGE; } $('#' + INPUT_ID).val(JSON.stringify(lsData)); } catch (e) { localStorage.removeItem(LOCAL_STORAGE_KEY); $('#' + INPUT_ID).val(JSON.stringify(DEFAULT_KEEP_RANGE)); } } function isValidRangeNumber(value) { let result = true; try { let array = JSON.parse(value); for (let i = 0; i < array.length; i++) { if (isNaN(array[i][0]) || isNaN(array[i][1]) || !isInt(array[i][0]) || !isInt(array[i][1]) || array[i][0] <= 0 || array[i][1] <= 0) { throw Exception; } } } catch (e) { result = false; } return result; } function save() { let inputValue = $('#' + INPUT_ID)[0].value; if (inputValue == '') { localStorage.removeItem(LOCAL_STORAGE_KEY); alert('Remove successful'); } else if (isValidRangeNumber(inputValue)) { localStorage.setItem(LOCAL_STORAGE_KEY, inputValue); alert('Save successful'); } else { alert(RANGE_NUMBER_INVALID_ALERT); } } function isInt(n) { return n % 1 === 0; } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址