4chan post sort

Sorts 4chan posts in a thread by number of replies to a post

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name          4chan post sort
// @namespace     4chanpostsort
// @description   Sorts 4chan posts in a thread by number of replies to a post
// @include       http://boards.4chan.org/*/*
// @include       https://boards.4chan.org/*/*
// @version 0.0.1.20150629054247
// ==/UserScript==


if (!GM_registerMenuCommand)
	alert('Please upgrade to the latest version of Greasemonkey.');
else
{
	function toArray(obj) {
		var array = [];
		// iterate backwards ensuring that length is an UInt32
		for (var i = obj.length >>> 0; i--;) { 
			array[i] = obj[i];
		}
		return array;
	};

	function compareChildrenCount (a,b) {
		if (a.children.length < b.children.length) { return -1; }
		if (a.children.length > b.children.length) { return 1; }
		return 0;
	};

	function PS_sort()
	{
		var reps = document.getElementsByClassName("backlink");
		reps = toArray(reps);
		reps.sort(compareChildrenCount);
		t=reps[0].parentNode.parentNode.parentNode.parentNode;
		for(i=0,x=reps.length;i<x;i++) {
			var e = reps[i].parentNode.parentNode.parentNode;
			e = t.removeChild(e);
			t.insertBefore(e, t.childNodes[0]);
		};
	};

	GM_registerMenuCommand('4chan Sort Posts by Reply Count', PS_sort);
};