Steam Info

快速查询Steam游戏信息

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        Steam Info
// @namespace   http://userscripts.org/users/deparsoul
// @description 快速查询Steam游戏信息
// @include     http://steamdb.sinaapp.com/sync
// @include     https://steamdb.keylol.com/sync
// @grant       GM_xmlhttpRequest
// @version     0.41
// @connect     steamcommunity.com
// @connect     store.steampowered.com
// @connect     www.desura.com
// ==/UserScript==

if (document.URL == 'https://steamdb.keylol.com/sync' || document.URL == 'http://steamdb.sinaapp.com/sync') {
    exec('setScriptVersion(' + addslashes(GM_info.script.version) + ')');
    var nocache = '_=' + Math.floor(Math.random() * 100000);
    load('https://steamcommunity.com/my/games?tab=all', 'own');
    load('https://store.steampowered.com/dynamicstore/userdata/?' + nocache, 'userdata');
    //load('http://www.desura.com/games/ajax/json/all?collection=t&' + nocache, 'desura');
} else {
    var script = document.createElement("script");
    script.setAttribute("src", "https://steamdb.keylol.com/steam_info.js");
    document.body.appendChild(script);
}

//Script Injection
function exec(fn) {
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = fn;
    document.body.appendChild(script);
    document.body.removeChild(script);
}

//Load url and call proc function
function load(url, id) {
    try {
    GM_xmlhttpRequest({
        method: "GET",
        url: url,
        onload: function(response) {
            exec('proc_' + id + '("' + addslashes(response.responseText) + '")');
        }
    });
    } catch(e) {
        alert('如果您最近更新了Firefox之后发现脚本无法同步,请参考跳转后页面');
        location.href = 'https://keylol.com/t329493-1-1';
    }
}

//Add slashes to string
function addslashes(string) {
    return string.replace(/\\/g, '\\\\').
    replace(/\u0008/g, '\\b').
    replace(/\t/g, '\\t').
    replace(/\n/g, '\\n').
    replace(/\f/g, '\\f').
    replace(/\r/g, '\\r').
    replace(/'/g, '\\\'').
    replace(/"/g, '\\"');
}