Danbooru Post Link Rating

Finds links to posts on Danbooru and appends that post's rating to the end

2015-11-08 기준 버전입니다. 최신 버전을 확인하세요.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name          Danbooru Post Link Rating
// @namespace     DoomTay
// @description   Finds links to posts on Danbooru and appends that post's rating to the end
// @include       http://danbooru.donmai.us/*
// @include       https://danbooru.donmai.us/*
// @version       1.0.5

// ==/UserScript==

var links = document.links;

for(var l=0; l<links.length; l++)
{
	if(links[l].firstChild.nodeName == "IMG") continue;
	if(document.getElementById("pool-nav") && document.getElementById("pool-nav").contains(links[l])) continue;
	if(links[l].href.indexOf("/posts/") > -1 && /\/posts\/(\d+)/.exec(links[l].href) != null)
	{
		var postID = /\/posts\/(\d+)/.exec(links[l].href)[1];
	}
	else if(links[l].href.indexOf("/post/show/") > -1 && /\/post\/show\/(\d+)(?:\/)?/.exec(links[l].href) != null)
	{
		var postID = /\/post\/show\/(\d+)(?:\/)?/.exec(links[l].href)[1];
	}
	else continue;
	if(window.location.href.indexOf(postID) > -1) continue;
	if(isNaN(postID)) continue;
	appendRating(links[l],postID);
}

function appendRating(link,id)
{
	var post = new XMLHttpRequest();
	var url = '/posts/' + id + '.json';
	post.onload = function () {
		var rating = JSON.parse(post.responseText).rating;
		var ratingReading = document.createElement("span");
		ratingReading.innerHTML = " (rating: " + rating + ")";
		link.parentNode.insertBefore(ratingReading, link.nextSibling);
	}
	post.open("GET", url, true);
	post.send();
}