您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
always show thumbnail of game
当前为
// ==UserScript== // @name Barter.vg, Thumbnail // @namespace http://tampermonkey.net/ // @version 0.5.2 // @description always show thumbnail of game // @author You // @match https://barter.vg/* // @grant none // @run-at document-end // @nowrap // ==/UserScript== (function() { var STORAGE_KEY = "BarterToSteamThumbnailMaps"; var inBundle = location.pathname.indexOf("/bundles/") == 0; var inGiveways = location.pathname.indexOf("/giveways/") == 0; var inBrowse = location.pathname.indexOf("/browse/") == 0; var inWishlist = location.pathname.indexOf("/w/") > 0; var inTradable = location.pathname.indexOf("/t/") > 0; var inBlacklist = location.pathname.indexOf("/b/") > 0; var inScrachpad = location.pathname.indexOf("/c/") > 0; var inLibrary = location.pathname.indexOf("/l/") > 0; var inOffer = location.pathname.indexOf("/o/") > 0; var inInfo = location.pathname.indexOf("/i/") == 0; var inTraded = location.pathname.indexOf("/d/") > 0; var inFulfilled = location.pathname.indexOf("/f/") > 0; var isMatching = location.pathname.indexOf("/m/") > 0; var isEditing = location.pathname.indexOf("/e/") > 0; var isTurnOffImage = false; var isTurnOffElement = document.querySelector(".platform a[href*='?filter=']"); if (isTurnOffElement) { isTurnOffImage = isTurnOffElement.href.split(",")[3].indexOf("1") == 0; } console.log({ w: inWishlist, t: inTradable, b: inBlacklist, c: inScrachpad, e: isEditing, isTurnOffImage: isTurnOffImage }); var thumbnailsMap = {}; var map = localStorage[STORAGE_KEY]; if (map) { thumbnailsMap = JSON.parse(map); } // find in parant elements function closest(el, selector) { if (!document.documentElement.contains(el)) return null; do { if (el.matches(selector)) return el; el = el.parentElement || el.parentNode; } while (el !== null && el.nodeType === 1); return null; } function makeThumbUrl(sid) { return "https://steamcdn-a.akamaihd.net/steam/apps/" + sid + "/capsule_184x69.jpg"; } function makeHeaderUrl (sid) { return "https://steamcdn-a.akamaihd.net/steam/subs/" + sid + "/header_586x192.jpg"; } function tMatching(e, bid) { var li = e.parentNode; var sid = thumbnailsMap[bid]; if (sid) { var bg = document.createElement("div"); bg.setAttribute("isMutching", ""); bg.style.backgroundImage = "url(" + makeThumbUrl(sid) + "), url(" + makeHeaderUrl(sid) + ")"; li.insertBefore(bg, e.nextSibling); return; } var mm = document.querySelector("#mutualMatches"); if (!mm) return; var m = mm.querySelectorAll(".listH a, .listW a"); for (var j = 0; j < m.length; j++) { var a = m[j]; var bid = a.href.match(/\d+/g)[0]; if (thumbnailsMap[bid]) continue; var mbg = document.createElement("div"); mbg.setAttribute("isMutching", ""); mbg.style.backgroundImage = "url(" + makeThumbUrl(thumbnailsMap[bid]) + ")"; a.appendChild(mbg); } } function tElse(e, sid) { if (e.href.indexOf("#") >= 0) return; var tr = closest(e, "tr"); if (!tr) return; var td = tr.querySelector("td"); if (!td) return; if (inBundle) { tr.setAttribute("inBundle", ""); td.setAttribute("inBundle", ""); } else { tr.setAttribute("isTurnOff", ""); td.setAttribute("isTurnOff", ""); } var includedThumbUrl = ""; if (tr.className.indexOf("included") >= 0) { var e = tr.nextSibling; if (e) { var next = e.querySelector("[href*='/sub/']") || e.querySelector("[href*='/app/']"); if (next) { includedThumbUrl = "url(" + makeThumbUrl(next.href.match(/\d+/)[0]) + "), "; } } } td.style.backgroundImage = "url(" + makeThumbUrl(sid) + "), url(" + makeHeaderUrl(sid) + "), " + includedThumbUrl + " var(--url-noimage)"; var bid = tr.querySelector("a[href^='https://barter.vg/i/']").href.match(/\d+/g)[0]; thumbnailsMap[bid] = sid; } function tOffer(e, eid) { if (e.href.indexOf("#") >= 0) return; var tr = closest(e, "td"); if (!tr) return; var td = tr.querySelector("td"); if (!td) return; var bg = document.createElement("div"); bg.setAttribute("inOffer", ""); bg.style.backgroundImage = "url(" + makeThumbUrl(eid) + ", " + makeHeaderUrl(eid) + "), var(--url-noimage)"; td.appendChild(bg); } function main () { if (inInfo) { // save thumbnail map var bid = location.pathname.split("/")[2]; var sid = document.querySelector(".platform a").href.split("/")[4]; thumbnailsMap[bid] = sid; } var items; if (inBrowse) { items = document.querySelectorAll(".collection tr [href^='https://steamcommunity.com/my/gamecards/']"); } else if (isMatching) { items = document.querySelectorAll(".matchcol li a[href^='https://barter.vg/i/']"); } else { items = document.querySelectorAll(".collection tr [href^='https://store.steampowered.com/app/'], .collection tr [href^='https://store.steampowered.com/sub/']"); } // console.log("items", items); for (var i = 0; i < items.length; i++) { var e = items[i]; var eid = e.href.match(/\d+/g)[0]; var isSubs = e.href.indexOf("/sub/") >= 0; if (inTradable || inWishlist || inBlacklist || inScrachpad || inBundle || inLibrary) { if (isMatching) { tMatching(e, eid); } else { tElse(e, eid, isSubs); } } else if (inBrowse) { tElse(e, eid, isSubs); } else if (inTraded || inFulfilled) { tElse(e, eid, isSubs); } else if (inOffer) { tOffer(e, eid, isSubs); } } localStorage[STORAGE_KEY] = JSON.stringify(thumbnailsMap); var style = document.createElement("style"); style.innerHTML = (function () {/* :root { --url-noimage: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABFCAIAAAB2XbtXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTnU1rJkAAACtUlEQVR4Xu3U0XHCMBCEYVqhFkqhEwqhD8qgFSrIhjs0x8mQDc5M/PB/T5IsS0K3eHcDDAQFFoICC0GBhaDAQlBgISiwEBRYCAosBAUWggILQYGFoMBCUGAhKLAQFFgICiwEBRaCAgtBgYWgwEJQYCEosBAUWAgKLAQFFoICC0GBhaDAssWgXC6X3a4fTIPH4zE7d+fzWdPC4XDIUVu++UxrxtPT6bTf76M9LA6KBseLMz3N1cv6Qb8oHxSLW/y7jQZFhVdVsn/XgqJ2vVBN1hVn55e01/V6zc6DFtS4Ns3+nUYkOw+aE5OzX+iRTlXDoWO3X9G22KyNBiWuvtZPg+OK1Z7/dnql1sDXNgparS0Yp5r31Ry9vhgUpWReuSaDoKwSJWm3r8FRNjUWP/WffVReBUVb1EcRiDkocUhNbkf6DtrzR3FGUFYZmaj3WIOias2llc/u/U1QJIqtCRGIFpSYE+2YMCwu2xCUVVomolEHX305orrZsb0JihpxgNYdajh0vLpOm7lIr+i3VC1t27H1oIwK/VdQtKm2HlWv5ddb40iiaXorO0uRiihIDvFFWalmQuLGa1U0MpdWPrv390HRI00YCajl12BW/qE+XVxW6hyCskoLSnRrUNRY/HKoVNn6jfdBkTqhlrm2Qy28VpBoVwTlz7SgiEpVB9Wei6SqtLdMPwalGvvOh5Q2qODOKxOUPzPXQNet+62DKmS9cXU/+5zIZ0F5VeN6Kq2gU9VpatdzEpRV5qCIRtpglCGo2DlqyzefjXC8D0oEN0YaHVLvZucul75r59TkfPAsH2/JFs+EDSIosBAUWAgKLAQFFoICC0GBhaDAQlBgISiwEBRYCAosBAUWggILQYGFoMBCUGAhKLAQFFgICiwEBRaCAgtBgYWgwEJQYCEosBAUWAgKDLfbFwWyh3Z/cFGwAAAAAElFTkSuQmCC); } .mh a, .mw a { display: inline-block; position: relative; } .matchcol li { position: relative; } .matchcol .showMoreArea { margin-top: 2px; } .collection tr { position: relative; } [isMutching] { position: absolute; width: 190px; left: 150px; top: 0; bottom: 0; z-index: -1; opacity: 0.5; background: left center no-repeat; background-size: cover; height: 2em; } td[inBundle] { width: 184px; background-repeat: no-repeat !important; } td[inBundle]+td { padding-left: 8px; } td[isTurnOff] { background-position: 2px center !important; background-repeat: no-repeat !important; padding-left: 190px; background-size: 184px auto !important; } div[inOffer] { position: absolute; width: 150px; right: 100px; top: 1px; bottom: 0; z-index: 1; opacity: 0.5; background: left center no-repeat; background-size: cover !important; } .collection th a:visited, .matchcol a:visited { color: #00f !important; } #listEdit { z-index: 100; }" */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]; document.querySelector("head").appendChild(style); } main(); // console.log("running thumbnail"); // Your code here... })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址