您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays a text area with game titles and keys.
当前为
- // ==UserScript==
- // @name IndieGala Keys to TextArea
- // @namespace http://tampermonkey.net/
- // @version 0.1.1
- // @description Displays a text area with game titles and keys.
- // @author Lex
- // @match https://www.indiegala.com/library/bundle/*
- // @match https://www.indiegala.com/gift*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- function getGames() {
- const active = document.querySelector("ul.profile-private-page-library-sublist-active");
- const es = active.querySelectorAll(".profile-private-page-library-subitem");
- return Array.prototype.map.call(es, e => {
- const title = e.querySelector(".profile-private-page-library-title div").textContent.trim();
- const inps = e.getElementsByTagName("input");
- const key = (inps.length > 0) ? inps[0].value : "";
- return [title, key];
- });
- }
- function injectTextbox() {
- console.log("Dumping keys");
- const active = document.querySelector("ul.profile-private-page-library-sublist-active");
- let area = active.querySelector("textarea.igktt");
- if (!area) {
- area = document.createElement("textarea");
- area.className = "igktt";
- active.append(area);
- }
- // Ignore games which do not have keys revealed
- let games = getGames().filter(e => e[1]);
- area.value = games.map(e => e[0]+","+e[1]).join("\n");
- area.style.width = "100%";
- area.style.height = "";
- area.style.height = area.scrollHeight + 20 + "px";
- }
- function waitForBundleLoaded() {
- const loader = document.querySelector("ul.profile-private-page-library-sublist-active .profile-private-page-library-subitem-loading");
- if (loader && loader.style.display == "none") {
- injectTextbox();
- } else {
- setTimeout(waitForBundleLoaded, 100);
- }
- }
- function injectLoaders() {
- const as = document.querySelectorAll(".profile-private-page-library-list .fit-click");
- as.forEach(a => {a.addEventListener("click", waitForBundleLoaded)});
- }
- injectLoaders();
- injectTextbox();
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址