您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
One click hero switching.
// ==UserScript== // @name WoD Hero Roster // @namespace https://www.wannaexpresso.com // @version 0.1 // @description One click hero switching. // @author DotIN13 // @include http*://*.wannaexpresso.*/* // @include http*://*.world-of-dungeons.*/* // @grant none // ==/UserScript== (function() { 'use strict'; // Build select from array of heroes function buildSelect(heroes) { var select = document.createElement("select"); heroes.forEach(h => { select.innerHTML += "<option value='" + h.link + "' data-name='" + h.name + "'>" + h.name + "</option>"; }) return select; } function buildLinkArray(heroes) { var searchArgs = window.location.search.match(/[^\?&]*=[^\?&]*/g).filter(i => !i.match(/goto|session_hero_id/)); var newSearch = "?" + searchArgs.join("&"); var currentURL = window.location.pathname + newSearch; heroes.forEach((h, i) => { var reference = (i == heroes.length - 1 ? 0 : i + 1); h.link = currentURL + "&goto=prevactivehero&session_hero_id=" + heroes[reference].id; }) return heroes; } /* Remove hero links document.getElementsByClassName("prevHeroLink")[0].remove(); document.getElementsByClassName("nextHeroLink")[0].remove();*/ var heroesBanner = document.getElementsByClassName("hero_short")[0]; if (heroesBanner) { var heroesLink = heroesBanner.getElementsByClassName("changeHeroLink")[0]; // Get hero list with XML request var XmlHttp = new XMLHttpRequest(); XmlHttp.onreadystatechange = function() { if (XmlHttp.readyState == 4 && XmlHttp.status == 200) { var activeHeroes = []; var response = XmlHttp.responseText; var parser = new DOMParser(); var xmlDoc = parser.parseFromString(response,"text/html"); var activeHeroesLink = xmlDoc.querySelectorAll(".content_table .hero_active"); //console.log(activeHeroesLink); for (const el of activeHeroesLink) { activeHeroes.push({name: el.innerText, id: el.closest(".content_table").firstElementChild.value}); }; //console.log(activeHeroes); // Add hero select var select = buildSelect(buildLinkArray(activeHeroes)) heroesLink.parentNode.prepend(select); // Preselect current hero select.querySelector("option[data-name=" + heroesLink.innerHTML + "]").selected = true; // Open link on select change select.addEventListener("change", function(e) { window.open(e.target.value, "_self"); }) }; }; XmlHttp.open("GET", heroesLink.href, true); XmlHttp.send(); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址