🏠 返回首頁 

Greasy Fork is available in English.

Indie Gala Show Key

Show your keys instantly


安装此脚本?
// ==UserScript==
// @name            Indie Gala Show Key
// @namespace       iFantz7E.GalaShowKey
// @version         1.16
// @description     Show your keys instantly
// @match           http://www.indiegala.com/profile?user_id=*
// @match           https://www.indiegala.com/profile?user_id=*
// @match           http://www.indiegala.com/gift?gift_id=*
// @match           https://www.indiegala.com/gift?gift_id=*
// @icon            http://www.indiegala.com/favicon.ico
// @grant           GM_addStyle
// @run-at          document-end
// @license         GPL-3.0-only
// @copyright       2014, 7-elephant
// @supportURL      https://steamcommunity.com/id/7-elephant/
// @contributionURL https://www.paypal.me/iFantz7E
// ==/UserScript==
// License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
// Since 5 Feb 2014
// http://userscripts.org/scripts/show/331276
// https://greasyfork.org/en/scripts/6597-indie-gala-show-key
GM_addStyle(
"   .span-key.steam-btn > .option.d###ra-key > input { width: 300px; } "
+ " .span-key.steam-btn > div > input { text-align: center; } "
+ " .info_key_text, .option[id^='fetching_'], .option[id^='linking_'] "
+ "  { display: none !important; } "
+ " #icon-gift { display: inline-block; } "
+ " .span-key.option { display: auto; } "
+ " .order-button-profile-press { cursor: auto; } "
+ " a[id^='fetchlink_'] { float: left !important; } "
+ " .igsk_fetchAll { width: auto !important; margin-left: 10px; padding-left: 10px; padding-right: 10px; } "
);
var displayNone = "none";
var displayAuto = "";
var mainTmId = 0;
function main()
{
clearTimeout(mainTmId);
mainTmId = setTimeout(function()
{
var as = document.querySelectorAll(".span-key.steam-btn > a");
for (var i = 0; i < as.length; i++)
{
if (as[i].getAttribute("id").indexOf("fetchlink_") != 0)
{
if (as[i].style.display != displayNone)
{
as[i].style.display = displayNone;
}
}
}
var aRedeems = document.querySelectorAll(".span-key.steam-btn > a[id^='fetchlink_']");
for (var i = 0; i < aRedeems.length; i++)
{
if (aRedeems[i].style.display != displayNone)
{
var btn = aRedeems[i].parentElement.querySelector(".order-button-profile-press");
if (btn != null)
{
btn.style.display = displayNone;
}
aRedeems[i].param = i;
aRedeems[i].addEventListener("DOMAttrModified", function(ev)
{
setTimeout(function()
{
var index = ev.target.param;
if (aRedeems[index].style.display == displayNone)
{
var btn = aRedeems[index].parentElement.querySelector(".order-button-profile-press");
if (btn != null)
{
btn.style.display = displayAuto;
}
}
}, 1000);
});
}
}
// remove how to redeem
var strHowTo = "activate";
as = document.querySelectorAll(".span-key.steam-btn > div > a");
for (var i = 0; i < as.length; i++)
{
if (as[i].textContent.indexOf(strHowTo) > -1)
{
if (as[i].style.display != displayNone)
{
as[i].style.display = displayNone;
}
}
}
// show keys
var divs = document.querySelectorAll(".span-key.steam-btn > div");
for (var i = 0; i < divs.length; i++)
{
if (divs[i].style.display != displayAuto)
{
divs[i].style.display = displayAuto;
}
}
// auto select text
var inputs = document.querySelectorAll(".span-key.steam-btn > div > input");
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].getAttribute("onclick") == null)
{
inputs[i].setAttribute("onclick","this.select();");
}
}
// prepare for auto fetching
var divGames = document.querySelectorAll(".in .in .in #steam-key-games, #this_your_gift");
for (var i = 0; i < divGames.length; i++)
{
var isEdit = false;
var aRedeems = divGames[i].querySelectorAll(".span-key.steam-btn > a[id^='fetchlink_']");
for (var j = 0; j < aRedeems.length; j++)
{
if (aRedeems[j].style.display != displayNone)
{
isEdit = true;
break;
}
}
if (isEdit)
{
if (divGames[i].querySelector(".game-keys-title .igsk_fetchAll") == null)
{
var h3 = divGames[i].querySelector(".game-keys-title h3");
h3.innerHTML = h3.innerHTML + " <input type='button' class='button igsk_fetchAll' "
+ " value='Fetch All Keys' onclick='igsk_autoFetch(); this.style.display = \"none\"; return false;' >";
}
}
}
}, 300);
}
document.addEventListener("DOMNodeInserted", main);
var clientScript = ' \
confirm = function(msg) \
{ \
if (msg.indexOf("permalink") < 0) \
console.log(msg); \
return true; \
}; \
\
function igsk_autoFetch() \
{ \
var tmId = setInterval(function() \
{ \
var isEdit = false; \
var aRedeems = document.querySelectorAll(".span-key.steam-btn > a[id^=\'fetchlink_\']"); \
for (var i = 0; i < aRedeems.length; i++) \
{ \
if (aRedeems[i].style.display != "none") \
{ \
var attrOnClick = aRedeems[i].getAttribute("onclick"); \
if (attrOnClick.indexOf("fn_fetchserial_2(") == 0) \
{ \
var param = attrOnClick.replace("fn_fetchserial_2(\'", "").replace("\', this); return false;", ""); \
var params = param.split("\', \'"); \
var serial = params[0]; \
var store = params[1]; \
globalAjaxSemaphore = false; \
fn_fetchserial_2(serial, store, aRedeems[i]); \
isEdit = true; \
break; \
} \
} \
} \
if (!isEdit) \
{ \
clearInterval(tmId); \
} \
}, 300); \
} \
';
var eleClientScript = document.createElement("script");
eleClientScript.innerHTML = clientScript;
document.head.appendChild(eleClientScript);