您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Read match data from Trophy Manager and send to the Tactical Lens analyzer
// ==UserScript== // @name Trophy Manager Tactical Lens Dev version // @namespace *trophymanager.com/matches* // @include *trophymanager.com/matches* // @version 0.1.2 // @description Read match data from Trophy Manager and send to the Tactical Lens analyzer // @author Willians Echart // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; const TACTICAL_LENS_URL = 'http://localhost:3000/api/analyze'; function sendToAnalyzer() { if (!end_of_game) alert('Wait for match to end'); else { const form = document.getElementById('tm-tactical-lens-form'); const formMatchData = document.getElementById('match_data'); formMatchData.value = JSON.stringify(match_data); form.submit(); } } /** * Inject the form to send the match data to the analyzer */ function injectForm() { const form = document.createElement('form'); form.id = 'tm-tactical-lens-form'; form.action = TACTICAL_LENS_URL; form.method = 'POST'; const formMatchData = document.createElement('input'); formMatchData.id = 'match_data'; formMatchData.type = 'hidden'; formMatchData.name = 'match_data'; form.appendChild(formMatchData); const formMatchId = document.createElement('input'); formMatchId.type = 'hidden'; formMatchId.name = 'match_id'; formMatchId.value = match_id; form.appendChild(formMatchId); const formSeason = document.createElement('input'); formSeason.type = 'hidden'; formSeason.name = 'season'; const seasonText = document.querySelector('a[title="Home"').textContent; let seasonNumber; if (seasonText) { const match = seasonText.match(/Season\s+(\d+)/i); if (match) { seasonNumber = parseInt(match[1]); } } formSeason.value = seasonNumber; form.appendChild(formSeason); document.body.appendChild(form); } function injectStyles() { const styles = document.createElement('style'); styles.innerHTML = ` #tm-tactical-lens-ui { position: fixed; bottom: 0; left: 16px; background: rgba(13, 120, 56, 0.95); padding: 16px; font-size: 12px !important; border-top-left-radius: 12px; border-top-right-radius: 12px; border: 3px solid #e5d72f; border-bottom: 0px; } #tm-tactical-lens-ui h3{ margin: 8px 0; } #tm-tactical-lens-button { background-color: #226750; border: 0; padding: 8px 12px; color: #226750; background: #e5d72f; border-radius: 4px; cursor: pointer; color: #226750; font-weight: 700; font-size: 14px; } #tm-tactical-lens-button:hover { opacity: 0.7; } `; document.head.appendChild(styles); } function injectContent() { const ui = document.createElement('div'); ui.id = 'tm-tactical-lens-ui'; ui.innerHTML = ` <h3>TM Tactical Lens</h3> <p>Send the match data to the Tactical Lens analyzer</p> <button id="tm-tactical-lens-button">Analyze</button> `; document.body.appendChild(ui); const button = document.getElementById('tm-tactical-lens-button'); button.addEventListener('click', () => { sendToAnalyzer(); }); } function init() { injectForm(); injectContent(); injectStyles(); } window.addEventListener('load', () => { init(); }); })();