Steam Store - Removed App/Sub Redirect To SteamDB

If the Steam Store App or Sub doesn't exist or is removed, redirect to SteamDB.info instead of store.steampowered.com.

Від 09.12.2016. Дивіться остання версія.

// ==UserScript==
// @name         Steam Store - Removed App/Sub Redirect To SteamDB
// @namespace    Royalgamer06
// @version      0.2
// @description  If the Steam Store App or Sub doesn't exist or is removed, redirect to SteamDB.info instead of store.steampowered.com.
// @author       Royalgamer06
// @include      *
// @exclude      file://*
// @run-at       document-idle
// @connect      store.steampowered.com
// @grant        GM_xmlhttpRequest
// ==/UserScript==

var ajax_img = "data:image/gif;base64,R0lGODlhEAALAPQAAP///wAAANra2tDQ0Orq6gYGBgAAAC4uLoKCgmBgYLq6uiIiIkpKSoqKimRkZL6+viYmJgQEBE5OTubm5tjY2PT09Dg4ONzc3PLy8ra2tqCgoMrKyu7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA";
document.querySelectorAll("a[href*='://store.steampowered.com/app/'], a[href*='://store.steampowered.com/sub/']").forEach(function(linkElem) {
    linkElem.onclick = function() {
        var prev_html = linkElem.innerHTML;
        linkElem.innerHTML = "<img src='" + ajax_img + "'></img>";
        GM_xmlhttpRequest({
            method: "GET",
            url: linkElem.href,
            onload: function(response) {
                if (/^https?:\/\/store\.steampowered.com\/?$/.test(response.finalUrl)) {
                    window.open(linkElem.href.replace("store.steampowered.com", "steamdb.info"));
                } else {
                    window.open(linkElem.href);
                }
                linkElem.innerHTML = prev_html;
            },
            onerror: function() { window.open(linkElem.href); },
            ontimeout: function() { window.open(linkElem.href); }
        });
        return false;
    };
});