您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A script that improves display in market list.
当前为
// ==UserScript== // @name Dota2 Market Tool // @namespace https://coding.net/u/sffxzzp // @version 1.01 // @description A script that improves display in market list. // @author sffxzzp // @match *://steamcommunity.com/market/listings/570/* // @icon https://store.steampowered.com/favicon.ico // ==/UserScript== (function() { var util = (function () { function util() {} util.createElement = function (data) { var node; if (data.node) { node = document.createElement(data.node); if (data.content) { this.setElement({node: node, content: data.content}); } if (data.html) { node.innerHTML = data.html; } } return node; }; util.setElement = function (data) { if (data.node) { for (let name in data.content) { data.node.setAttribute(name, data.content[name]); } if (data.html!=undefined) { data.node.innerHTML = data.html; } } }; return util; })(); var dotamt = (function () { function dotamt() {} dotamt.prototype.addBanner = function () { var listBanner = document.getElementsByClassName('market_listing_table_header')[0]; var nameBanner = listBanner.children[2]; var childBanner = util.createElement({node: "span", content: {style: "padding-left: 4vw;"}}); nameBanner.appendChild(childBanner); childBanner = util.createElement({node: "span", content: {style: "width: 20%;", class: "market_listing_right_cell"}, html: "宝石"}); listBanner.insertBefore(childBanner, nameBanner); childBanner = util.createElement({node: "span", content: {style: "width: 20%;", class: "market_listing_right_cell"}, html: "已解锁款式"}); listBanner.insertBefore(childBanner, nameBanner); } dotamt.prototype.addPageCtl = function () { let oriPageCtl = document.getElementsByClassName('market_paging_summary')[0]; let oriPageDiv = document.getElementById('searchResults_ctn'); let newPageCtl = util.createElement({node: "div", content: {style: "float: right; padding-right: 20px;"}}); let newPageInput = util.createElement({node: "input", content: {class: "filter_search_box market_search_filter_search_box", style: "width: 20px;", type: "text", autocomplete: "off"}}); newPageCtl.appendChild(newPageInput); let newPageGo = util.createElement({node: "span", content: {class: "btn_darkblue_white_innerfade btn_small"}, html: " Go! "}); newPageGo.onclick = function () { g_oSearchResults.GoToPage( (newPageInput.value-1), true ); newPageInput.value = ""; }; newPageCtl.appendChild(newPageGo); oriPageDiv.insertBefore(newPageCtl, oriPageCtl); let newPageSizeCtl = util.createElement({node: "div", content: {class: "market_pagesize_options", style: "margin: 0 0 2em 0; font-size: 12px;"}, html: "每页显示数: "}); let newPageSizeInput = util.createElement({node: "input", content: {class: "filter_search_box market_search_filter_search_box", style: "width: 30px;", type: "text", autocomplete: "off"}}); let newPageSizeGo = util.createElement({node: "span", content: {class: "btn_darkblue_white_innerfade btn_small"}, html: " 修改 "}); newPageSizeGo.onclick = function () { if (g_oSearchResults.m_cPageSize != newPageSizeInput.value && newPageSizeInput.value < 101) { let oldPageSize = g_oSearchResults.m_cPageSize; g_oSearchResults.m_cPageSize = newPageSizeInput.value; g_oSearchResults.m_cMaxPages = Math.ceil(g_oSearchResults.m_cTotalCount / newPageSizeInput.value); g_oSearchResults.GoToPage(g_oSearchResults.m_iCurrentPage, true); } newPageSizeInput.value = ""; }; newPageSizeCtl.appendChild(newPageSizeInput); newPageSizeCtl.appendChild(newPageSizeGo); document.getElementById('searchResults_ctn').appendChild(newPageSizeCtl); } dotamt.prototype.load = function () { var _this=this; let isHandled = document.getElementsByClassName("market_listing_table_header")[0].children.length; if (isHandled > 3) {return false;} _this.addBanner(); let itemDetails = g_rgAssets[570][2]; let itemUnlocks = []; let itemGems = []; let reGemDes = /<span style="font-size: 18px;.+?">(.*?)<\/span><br>/gi; let reGemColor = /rgb\(.+?\)/gi; let reTour = /tournament_info/g; let GemInfo, GemDes, GemColor, lastCount, UnlockDes, UnlockColor; let i = 0; for (let itemDetail in itemDetails) { itemGems[i] = "<div>"; lastCount = itemDetails[itemDetail].descriptions.length - 1; GemInfo = itemDetails[itemDetail].descriptions[lastCount].value; if (GemInfo.length > 1) { GemDes = GemInfo.match(reGemDes); GemColor = []; if (GemDes === null) { GemDes = GemInfo.match(reTour); if (GemDes !== null) { GemInfo = itemDetails[itemDetail].descriptions[lastCount-1].value; } GemDes = GemInfo.match(reGemDes); } if (GemDes !== null) { for (let j = 0;j<GemDes.length;j++) { GemColor[j] = GemDes[j].match(reGemColor)[0]; GemDes[j] = GemDes[j].replace(/<.+?>/g, ''); itemGems[i] += "<span style=\"float: left; line-height: initial; width: 100%; color: "+GemColor[j]+"\">"+GemDes[j]+"</span>"; } } else { itemGems[i] += "<p></p>"; } } itemGems[i] += "</div>"; itemUnlocks[i] = "<div>"; for (let k = 0; k < itemDetails[itemDetail].descriptions.length; k++) { UnlockDes = itemDetails[itemDetail].descriptions[k].value; UnlockColor = itemDetails[itemDetail].descriptions[k].color; console.log(itemDetails[itemDetail]); if (UnlockColor == "9da1a9" || UnlockColor == "6c7075") { UnlockDes = UnlockDes; itemUnlocks[i] += "<span style=\"float: left; line-height: initial; width: 100%; color: #"+UnlockColor+"\">"+UnlockDes+"</span>"; } } itemUnlocks[i] += "</div>"; i++; } let itemList = document.getElementsByClassName('market_recent_listing_row'); let nameList; for (i=0;i<itemList.length;i++) { nameList = itemList[i].children[3]; let itemGem = util.createElement({node: "span", content: {style: "width: 20%;", class: "market_listing_right_cell"}, html: itemGems[i]}); itemList[i].insertBefore(itemGem, nameList); let itemUnlock = util.createElement({node: "span", content: {style: "width: 20%;", class: "market_listing_right_cell"}, html: itemUnlocks[i]}); itemList[i].insertBefore(itemUnlock, nameList); } } dotamt.prototype.run = function () { var _this = this; _this.load(); _this.addPageCtl(); var dotainv = document.getElementById("searchResultsRows"); var observer = new MutationObserver(function (recs) { _this.load(); }); observer.observe(dotainv, { childList: true, subtree: true }); } return dotamt; })(); var script = new dotamt(); script.run(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址