快速查询Steam游戏信息
// ==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.d###ra.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.d###ra.com/games/ajax/json/all?collection=t&' + nocache, 'd###ra'); } 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, '\\"'); }