您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
个人简陋制作 点击复制最终幻想XIV中文维基的物品名 一键跳转Universalis
当前为
// ==UserScript== // @name 点击(最终幻想XIV || 最终幻想14 || FFXIV || FF14)中文维基的物品名复制物品名或跳转至Universalis // @namespace http://tampermonkey.net/ // @version 0.4 // @description 个人简陋制作 点击复制最终幻想XIV中文维基的物品名 一键跳转Universalis // @author Atail // @date 2021-05-18 // @match ff14.huijiwiki.com/wiki/* // @grant none // ==/UserScript== 'use strict' const copyIt = (name) => { let dom = document.createElement("textarea"); dom.value = name; dom.setAttribute('style', 'display: block;width: 1px;height: 1px;'); document.body.appendChild(dom); dom.select(); let result = document.execCommand('copy'); document.body.removeChild(dom); window.alert(name + "复制成功"); } document.onreadystatechange = () => { try { // 设置按钮CSS const extraCss = document.createElement("style") extraCss.type = "text/css" extraCss.innerHTML = ".copy-btn{border: 1px dashed #d9d9d9; border-radius: 2px; color: #FFFFFF; font-size: 14px; line-height: 1.5715; margin-left: 10px; background: #1C1C1C;}"; document.getElementsByTagName("head")[0].appendChild(extraCss) } catch (error) { console.log("CSS错误:", error) } try { // 标题面板 const infobox_item_name_title = document.getElementsByClassName('infobox-item--name-title')[0]; let itemName = infobox_item_name_title.innerText; const copyBtn = document.createElement("button"); copyBtn.innerHTML = "复制"; copyBtn.className = "copy-btn"; copyBtn.addEventListener("click", () => { copyIt(itemName); }); infobox_item_name_title.appendChild(copyBtn) // 跳转 let noforSale = true; try { const color_warning = document.getElementsByClassName("color-warning")[0]; for (let i = 0; i < color_warning.childNodes.length; i++) { const item = color_warning.childNodes[i]; noforSale = item.innerText == "不可出售" ? false : noforSale } } catch (error) { console.log("universalis错误:", error) } if (noforSale) { const copyBtn = document.createElement("button"); copyBtn.innerHTML = "跳转到universalis"; copyBtn.className = "copy-btn"; copyBtn.addEventListener("click", () => { const external = document.getElementsByClassName("external"); let itemid = 0; for (let i = 0; i < external.length; i++) { if (external[i].innerText == "Garland Data") { const itemurl = external[i].href; const lidx = itemurl.lastIndexOf("/"); itemid = itemurl.substring(lidx, itemurl.length) } } window.location.href = "https://universalis.app/market" + itemid; }); infobox_item_name_title.appendChild(copyBtn) } } catch (error) { console.log("标题面板错误:", error) } try { // 各语言名称面板 const img_v_align_baseline = document.getElementsByClassName('img-v-align-baseline')[0].childNodes; img_v_align_baseline.forEach((child, index) => { const itemName = child.innerText; const copyBtnMuti = document.createElement("button"); copyBtnMuti.innerHTML = "复制" copyBtnMuti.className = "copy-btn"; copyBtnMuti.addEventListener("click", () => { copyIt(itemName); }); child.appendChild(copyBtnMuti) }) } catch (error) { console.log("各语言名称面板错误:", error) } try { // 制作配方面板 const item_craft_list = document.getElementsByClassName('item-craft-list')[0].childNodes[0].childNodes[1].childNodes; item_craft_list.forEach((child, index) => { const copyBtnMuti = document.createElement("button"); copyBtnMuti.innerHTML = "复制" copyBtnMuti.className = "copy-btn"; copyBtnMuti.addEventListener("click", () => { let itemName = child.innerText; const idx = itemName.indexOf(" ×"); if (idx != -1) { itemName = itemName.substring(0, idx); } copyIt(itemName); }); child.appendChild(copyBtnMuti) }) } catch (error) { console.log("制作配方面板错误:", error) } try { // 兑换获得面板 const spanlist = document.getElementsByTagName('span') let count = 0; for (let i = 0; i < spanlist.length; i++) { const thisSpan = spanlist[i]; thisSpan.innerText == "通过兑换获得" ? count++ : null; if (thisSpan.innerText == "通过兑换获得" && count > 1) { const wikitable = thisSpan.parentNode.nextSibling; const wikiTableTrList = wikitable.childNodes[0].childNodes[0].childNodes; const listarray = [].slice.call(wikiTableTrList); const trueList = listarray.slice(1, listarray.length); for (let j = 0; j < trueList.length; j++) { const tdList = trueList[j].childNodes; for (let k = 0; k < tdList.length - 1; k++) { const copyBtnMuti = document.createElement("button"); copyBtnMuti.innerHTML = "复制" copyBtnMuti.className = "copy-btn"; copyBtnMuti.addEventListener("click", () => { let itemName = tdList[k].childNodes[0].innerText; const idx = itemName.indexOf(" ×"); if (idx != -1) { itemName = itemName.substring(0, idx); } copyIt(itemName); }); tdList[k].childNodes[0].appendChild(copyBtnMuti) } } } } } catch (error) { console.log("兑换面板错误:", error) } try { // 兑换面板 const spanlist = document.getElementsByTagName('span') let count = 0; for (let i = 0; i < spanlist.length; i++) { const thisSpan = spanlist[i]; thisSpan.innerText == "用于兑换" ? count++ : null; if (thisSpan.innerText == "用于兑换" && count > 1) { const wikitable = thisSpan.parentNode.nextSibling; const wikiTableTrList = wikitable.childNodes[0].childNodes[0].childNodes; const listarray = [].slice.call(wikiTableTrList); const trueList = listarray.slice(1, listarray.length); for (let j = 0; j < trueList.length; j++) { const tdList = trueList[j].childNodes; for (let k = 0; k < tdList.length - 1; k++) { const copyBtnMuti = document.createElement("button"); copyBtnMuti.innerHTML = "复制" copyBtnMuti.className = "copy-btn"; copyBtnMuti.addEventListener("click", () => { let itemName = tdList[k].childNodes[0].innerText; const idx = itemName.indexOf(" ×"); if (idx != -1) { itemName = itemName.substring(0, idx); } copyIt(itemName); }); tdList[k].childNodes[0].appendChild(copyBtnMuti) } } } } } catch (error) { console.log("兑换面板错误:", error) } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址