Overwatch forums user info

Linkify user names so it directs to playoverwatch profile

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        Overwatch forums user info
// @namespace   abyx
// @description:en Linkify user names so it directs to playoverwatch profile
// @include     http://*.battle.net/forums/*/overwatch/topic/*
// @version     0.2
// @grant       none
// @description Linkify user names so it directs to playoverwatch profile
// ==/UserScript==

var postsCollection = document.getElementsByClassName("TopicPost-content");
var posts = Array.from(postsCollection);
posts.forEach(function(x) {
  var linkToPosts = x.getElementsByClassName("Author-posts")[1].href;
  var bnet = /a=(.+)$/i.exec(linkToPosts)[1];
  var bnetFormatted = bnet.replace("%23","-");
  var region = /http:\/\/(\w+)\.battle/.exec(document.URL)[1];
  var authorNameElement = x.getElementsByClassName("Author-name")[0];
  var authorName = authorNameElement.innerHTML;
  authorNameElement.innerHTML = '<a href="https://playoverwatch.com/en-us/career/pc/' + region + '/' + bnetFormatted + '">' + authorName + '</a>';
  });