NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Open In Steam // @namespace http://brooksaar.com/ // @version 0.1 // @description Adds a link to open Steam content in the desktop client. // @author Aaron Brooks // @match *://steamcommunity.com/* // @match *://store.steampowered.com/* // @grant none // ==/UserScript== document.addEventListener('DOMContentLoaded', function() { var namedPage = ""; // trailing slash important! var pageId = ""; var currentUrl = window.location.href; if(currentUrl.match("store.steampowered.com/app/")) { var urlParts = currentUrl.split("/"); namedPage = "StoreAppPage/"; pageId = urlParts[4]; CreateButton(namedPage, pageId); } else if(currentUrl.match("steamcommunity.com/sharedfiles/")) { pageId = getURLParameter("id"); namedPage = "CommunityFilePage/"; CreateButton(namedPage, pageId); } }); function CreateButton(namedPage, pageId) { var steamButton = document.createElement("a"); var buttonText = document.createTextNode("Open in Steam!"); steamButton.setAttribute("href", "steam://url/" + namedPage + pageId); steamButton.setAttribute("class", "menuitem"); steamButton.appendChild(buttonText); var superNav = document.getElementById("supernav"); superNav.appendChild(steamButton); } // Thanks David Morales, https://stackoverflow.com/questions/11582512/how-to-get-url-parameters-with-javascript/11582513#11582513 function getURLParameter(name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null; }