您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Добавляет плавающие кнопки в виде SVG для поиска игры на online-fix.me, rustorka.com и rutracker.org на странице игры SteamDB.
当前为
// ==UserScript== // @name SteamDB Floating Search Buttons as SVG // @namespace http://tampermonkey.net/ // @version 1.8 // @description Добавляет плавающие кнопки в виде SVG для поиска игры на online-fix.me, rustorka.com и rutracker.org на странице игры SteamDB. // @author GodinRaider // @license MIT // @match https://steamdb.info/app/* // @grant none // ==/UserScript== (function() { 'use strict'; // Функция для создания SVG кнопки function createSVGButton(label, url, tooltip) { let button = document.createElement('a'); button.href = url; button.target = '_blank'; // открывать в новой вкладке button.title = tooltip; button.className = 'floating-svg-button'; // Добавляем класс для стилей // Создаем SVG элемент let svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); svg.setAttribute('width', '140'); // Увеличен размер кнопки по ширине svg.setAttribute('height', '40'); // Увеличен размер кнопки по высоте svg.setAttribute('viewBox', '0 0 140 40'); svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); // Создаем прямоугольник (фон) let rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); rect.setAttribute('width', '140'); rect.setAttribute('height', '40'); rect.setAttribute('rx', '5'); // Радиус скругления углов как у оригинальных кнопок rect.setAttribute('fill', '#4C6EF5'); // Цвет фона кнопки rect.setAttribute('stroke', '#000'); rect.setAttribute('stroke-width', '1'); // Создаем текст для кнопки let text = document.createElementNS("http://www.w3.org/2000/svg", "text"); text.setAttribute('x', '70'); // Центровка по оси X text.setAttribute('y', '25'); // Центровка по оси Y text.setAttribute('fill', 'white'); text.setAttribute('font-size', '14'); // Размер текста как у оригинальных кнопок text.setAttribute('font-family', 'Arial, sans-serif'); text.setAttribute('text-anchor', 'middle'); // Центровка текста text.textContent = label; // Добавляем элементы в SVG svg.appendChild(rect); svg.appendChild(text); // Добавляем SVG в кнопку button.appendChild(svg); return button; } // Получаем название игры из элемента <h1 itemprop="name"> let gameNameElement = document.querySelector('h1[itemprop="name"]'); if (!gameNameElement) return; // Если не удалось найти название игры, прекращаем выполнение let gameName = encodeURIComponent(gameNameElement.textContent.trim()); // Создаем три кнопки для поиска на разных сайтах let onlineFixButton = createSVGButton('Online-Fix', `https://online-fix.me/?do=search&subaction=search&story=${gameName}`, 'Поиск на online-fix.me'); let rustorkaButton = createSVGButton('Rustorka', `http://rustorka.com/forum/tracker.php?nm=${gameName}&o=10&s=2`, 'Поиск на rustorka.com'); let rutrackerButton = createSVGButton('RuTracker', `https://rutracker.org/forum/tracker.php?nm=${gameName}&o=10&s=2`, 'Поиск на rutracker.org'); // Создаем контейнер для плавающих кнопок let buttonContainer = document.createElement('div'); buttonContainer.className = 'floating-container'; // Добавляем кнопки в контейнер buttonContainer.appendChild(onlineFixButton); buttonContainer.appendChild(rustorkaButton); buttonContainer.appendChild(rutrackerButton); // Добавляем контейнер на страницу document.body.appendChild(buttonContainer); // Применяем стили для плавающих кнопок const style = document.createElement('style'); style.innerHTML = ` .floating-container { position: fixed; top: 100px; left: 10px; display: flex; flex-direction: column; gap: 10px; z-index: 1000; } .floating-svg-button { display: block; width: 140px; /* Ширина кнопки */ height: 40px; /* Высота кнопки */ text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease; } .floating-svg-button:hover { transform: scale(1.05); /* Легкое увеличение при наведении */ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Тень при наведении */ } `; document.head.appendChild(style); })();