您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
If the URL contains the clickthrough=1 GET variable, then if there is an exact match for the search, click through to it to open the game's page. This is for use with search add-ons and search engine keyword functionality. 5/18/2023, 3:25:43 AM
// ==UserScript== // @name Steam Search - Click Through To Game // @namespace Violentmonkey Scripts // @match https://store.steampowered.com/search/ // @grant none // @version 2.0 // @author - // @description If the URL contains the clickthrough=1 GET variable, then if there is an exact match for the search, click through to it to open the game's page. This is for use with search add-ons and search engine keyword functionality. 5/18/2023, 3:25:43 AM // ==/UserScript== const urlParams = new URLSearchParams(window.location.search); title = urlParams.get("term"); if ((urlParams.get("clickthrough") === "1") && (title !== null) && (title !== '')) { // the parameter is set, let's find the link titleLower = title.toLowerCase(); a = null; count = 0; document.querySelectorAll('a.search_result_row span.title').forEach(span => { if(span.innerText.toLowerCase() == titleLower) { if (count == 0) { a = span.closest('a.search_result_row'); } count = count + 1; } }) // first, navigate to the current search results, but without the clickthrough GET var. // navigate replacing history so that if you navigate back to the search results, you can stay here urlParams.delete("clickthrough"); noClickthroughUrl = window.location.origin + window.location.pathname + "?" + urlParams.toString() history.replaceState({}, "", noClickthroughUrl); // if we found more than one match, or no matches, don't click any links if((count == 1) && (a !== null)) { // wait for window.location to have changed... ref = setInterval(function() { if(window.location.toString() == noClickthroughUrl) { clearInterval(ref); window.location.href = a.href; } }, 25); } }