// ==UserScript== // @name Keylol论坛显示Steam名称 // @namespace http://tampermonkey.net/ // @version 1.1.0 // @description 在帖子楼层中显示Steam名称。 // @author Android_KitKat // @match http*://keylol.com/* // @grant GM_xmlhttpRequest // @connect steamcommunity.com // @connect api.steampowered.com // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 是否使用WebAPI来获取数据,true为启用,false为禁用。 var webapi = false; // 请在此处填写你的Steam网页API密钥 // 注册链接: https://steamcommunity.com/dev/apikey var apikey = ''; function AppendNameFromCommunity(bar, steamids) { GM_xmlhttpRequest({ method: 'get', url: `https://steamcommunity.com/profiles/${steamids}/?xml=1`, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, onload: function(res) { var data = res.responseXML; var name = data.getElementsByTagName('steamID')[0].textContent; bar.insertBefore(document.createTextNode(name), bar.firstChild); } }); } function AppendNameFromWebAPI(bar, steamids) { GM_xmlhttpRequest({ method: 'get', url: `https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=${apikey}&steamids=${steamids}`, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, onload: function(res) { var data = JSON.parse(res.responseText); var name = data.response.players[0].personaname; bar.insertBefore(document.createTextNode(name), bar.firstChild); } }); } var bars = document.getElementsByClassName('steam_connect_user_bar'); for (var bar of bars) { var friendlink = bar.getElementsByClassName('steam_connect_user_bar_link_friend')[0].href var steamids = friendlink.substring(20); webapi ? AppendNameFromWebAPI(bar, steamids): AppendNameFromCommunity(bar, steamids); } })();