Steam Link Dropdown - Adds Clean Links to Various Safe Sites in a neat dropdown

Adds a quick and easily to access way of finding links to games.

目前為 2025-01-07 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Steam Link Dropdown - Adds Clean Links to Various Safe Sites in a neat dropdown
// @namespace    Karma
// @version      1.0
// @description  Adds a quick and easily to access way of finding links to games.
// @author       Karma
// @match        http://store.steampowered.com/app/*
// @match        https://store.steampowered.com/app/*
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // Helper function to create a styled link
    const createLink = (href, text) => {
        const link = document.createElement('a');
        link.href = href;
        link.textContent = text;
        link.target = '_blank';
        link.style.display = 'block';
        link.style.padding = '5px 10px';
        link.style.textDecoration = 'none';
        link.style.color = '#5095c1';
        link.style.backgroundColor = '#2d5071';
        link.style.borderBottom = '1px solid #c6d4df';
        link.addEventListener('mouseover', () => {
            link.style.backgroundColor = '#1b2838';
        });
        link.addEventListener('mouseout', () => {
            link.style.backgroundColor = '#2d5071';
        });
        return link;
    };

    // Retrieve the game name
    const gameName = document.querySelector('.apphub_AppName')?.textContent.trim();
    if (!gameName) return;

    // Get the container for app actions
    const appActionContainer = document.querySelector('.apphub_OtherSiteInfo');
    if (!appActionContainer) return;

    // Create the dropdown container
    const dropdownContainer = document.createElement('div');
    dropdownContainer.style.position = 'absolute';
    dropdownContainer.style.top = '100%';
    dropdownContainer.style.right = '0';
    dropdownContainer.style.backgroundColor = '#2d5071';
    dropdownContainer.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.3)';
    dropdownContainer.style.border = '1px solid #c6d4df';
    dropdownContainer.style.borderRadius = '0px';
    dropdownContainer.style.display = 'none';
    dropdownContainer.style.zIndex = '1000';
    dropdownContainer.style.minWidth = '200px';
    document.addEventListener('click', (event) => {
        if (!dropdownContainer.contains(event.target) && !dropdownButton.contains(event.target)) {
            dropdownContainer.style.display = 'none';
        }
    });

    // Button
    const dropdownButton = document.createElement('div');
    dropdownButton.textContent = 'Safe Sites';
    dropdownButton.style.cursor = 'pointer';
    dropdownButton.style.padding = '7px 14px';
    dropdownButton.style.margin = '2 0px';
    dropdownButton.style.backgroundColor = '#2d5071';
    dropdownButton.style.color = '#5095c1';
    dropdownButton.style.borderRadius = '2px';
    dropdownButton.style.textAlign = 'center';
    dropdownButton.style.fontfamily = 'arial'
    dropdownButton.style.fontSize = '15px';
    dropdownButton.style.fontWeight = 'bold';
    dropdownButton.style.display = 'inline-block';
    dropdownButton.style.border = '0px solid rgba(0, 0, 0, 10)';
    dropdownButton.style.position = 'relative';
    dropdownButton.addEventListener('click', (event) => {
        event.stopPropagation();
        dropdownContainer.style.display = dropdownContainer.style.display === 'none' ? 'block' : 'none';
        dropdownContainer.style.top = `${dropdownButton.offsetHeight}px`;
        dropdownContainer.style.right = '0';
    });

    // List of links to add
    const links = [
        // Its not hard to add new sites
        { href: `https://gog-games.to/?q=${gameName}`, text: 'GOG Games' },
        { href: `https://cs.rin.ru/forum/search.php?keywords=${gameName}&terms=any&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=topics&st=0&ch=300&t=0&submit=Search`, text: 'CS.RIN.RU' },
        { href: `https://steamrip.com/?s=${gameName}`, text: 'SteamRip' },
        { href: `https://fitgirl-repacks.site/?s=${gameName}`, text: 'FitGirl Repacks' },
        { href: `https://ankergames.net/search/${gameName}`, text: 'AnkerGames' },
        { href: `https://online-fix.me/index.php?do=search&subaction=search&story=${gameName}`, text: 'Online-Fix' },
        { href: `https://gamebounty.world/?s${gameName}`, text: 'GameBounty' },
        { href: `https://www.ovagames.com/?s=${gameName}&x=0&y=0`, text: 'OVA Games' },
        { href: `https://www.youtube.com/results?search_query=${encodeURIComponent(gameName)}+gameplay+no+commentary`, text: 'Gameplay Vid' },
    ];

    // Append links to the dropdown container
    links.forEach(({ href, text }) => {
        dropdownContainer.appendChild(createLink(href, text));
    });

    // Append the dropdown button and container beside the "Community Hub" button
    appActionContainer.appendChild(dropdownButton);
    dropdownButton.appendChild(dropdownContainer);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址