Steam DB Helper Replace "Install button" to "Store button"

Steam DB Freeページでゲームインストールボタンをスチームクライアントでストアページを開くボタンに変更

2020-05-26 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Steam DB Helper Replace "Install button" to "Store button"
// @namespace    https://twitter.com/rin_jugatla
// @version      0.1
// @description  Steam DB Freeページでゲームインストールボタンをスチームクライアントでストアページを開くボタンに変更
// @author       rin_jugatla
// @match        https://steamdb.info/upcoming/free/
// @grant        none
// ==/UserScript==

// 【Javascript】XPathを使う(document.evaluate)
// https://www.softel.co.jp/blogs/tech/archives/2067
document.getElementsByXPath = function(expression, parentElement) {
    var r = []
    var x = document.evaluate(expression, parentElement || document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
    for (var i = 0, l = x.snapshotLength; i < l; i++) {
        r.push(x.snapshotItem(i))
    }
    return r
}

// インストールボタン
var xpath = '//*[contains(@id, "js-app-install")]'
var installs = document.getElementsByXPath(xpath)

for(var i = 0; i < installs.length; i++)
{
    installs[i].href = installs[i].href.replace('install', 'store')
    installs[i].setAttribute('aria-label', 'Launch Steam Client')
}