My Submissions

Add link to my submissions

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         My Submissions
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Add link to my submissions
// @author       beet
// @match       *://judge.u-aizu.ac.jp/onlinejudge/description.jsp*
// @grant        none
// ==/UserScript==

function getJson(url){
    return $.ajax(
	{
	    type     : 'GET',
	    url      : url,
	    dataType : 'json',
	    timeout  : 20000,
	});
};

(function() {
    'use strict';
    $(window).load(() => {
    const user = $("#status")[0].outerHTML.replace(/.*?id=(.*)\" .*/, '$1');
    const problem = window.location.search.replace(/.*?id=(\d*).*/, '$1');
    const url = "https://judgeapi.u-aizu.ac.jp/solutions/users/" + user + "/problems/" + problem;
    function create(x) {return "<a href=\"http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=" + x + "\">" + x + "</a>";};
    getJson(url).done(function(data){
        $("#pageinfo .wrapper").append("<br><span class=\"test\">My Submissions: </span>");
        data.forEach(x => $("#pageinfo .wrapper").append(create(x.judgeId) + ", "));
    });
    });
})();