// ==UserScript== // @name WarframeMarketTranslation // @version 0.1 // @description WarframeMarket Translation ,翻译 WarframeMarket 的商品对照中英文,英文游戏购买可以直接快速看见商品名,不需要开两个网页对照了 // @author Boomer // @match https://warframe.market/zh-hans/profile/* // @icon https://warframe.market/favicon.ico // @grant none // @license MIT // @namespace https://greasyfork.org/users/1327824 // @downloadURL none // ==/UserScript== (function () { "use strict"; // todo: 方法二 // 监听滚轮事件 window.addEventListener("wheel", function () { // 商品内容 let ProductContents = document.getElementsByClassName("infinite-translate"); let WarframeMarketWantToSell = ProductContents[0]; let WarframeMarketWantToSellNode = Array.from(WarframeMarketWantToSell.childNodes); console.log("WarframeMarketWantToSellNode 长度为 :" + WarframeMarketWantToSellNode.length); // 使用 for 循环遍历WarframeMarketWantToSellNode并修改匹配的元素 for (let i = 0; i < WarframeMarketWantToSellNode.length; i++) { // 选择 商品的超链接 从中截取英文名称 let selector = `#panel > section.user__profile.content--UwhYJ.grow--Q24fj > div.content__body--qkyqR.flex--root > div.container > div.order__content--ORU7n > div.sellOrders--nsRSO.listingSell > div.infinite-scroll > div > div:nth-child(${i + 1}) > div.order-own__item-name--K7IDS > a`; let selectorElement = document.querySelector(selector); let SelectorTheEnglishNameOfTheProduct = selectorElement.getAttribute("href").replace("/zh-hans/items/", ""); // 选择 商品名称 let elementToModify = selector + ` > span`; let elementToModifyElement = document.querySelector(elementToModify); let formattedName = SelectorTheEnglishNameOfTheProduct.replace(/(?:^|_)(\w)/g, (match, p1) => p1.toUpperCase()).replace(/_/g, '').replace(/(\w)([A-Z])/g, '$1 $2'); formattedName = formattedName.charAt(0).toUpperCase() + formattedName.slice(1); // 将首字母大写 // 如果该行已经插入过内容则跳过,判断条件为 被插入了 " | " if (elementToModifyElement.innerHTML.includes("|")) { continue; // 包含 "|" } else { // 执行插入语句 (function (index) { // 在这里执行你想要的修改操作,例如: elementToModifyElement.innerHTML = elementToModifyElement.innerHTML + " | " + formattedName; })(i); } } }); })();