ふぁぼったーのを見れるようにするGreasemonkeyスクリプト(AutoPagerize対応)

インストール

// ==UserScript==
// @name           show censored
// @namespace      http://d.hatena.ne.jp/f96q/
// @include        http://favotter.net/*
// ==/UserScript==

function $X(xpath, context) {
    context = context || document;
    var result = document.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, r = []; i < result.snapshotLength; i++)  {
	r.push(result.snapshotItem(i));
    }
    return r;
}

function checkContent(content) {
    if (!$X('.//span[contains(@class,"censored")]', content).length) return;
    var url = $X('.//a[contains(@class,"taggedlink") and contains(@href,"http://twitter.com/")]', content)[0].href;
    var text = $X('.//span[contains(@class," status_text description")]', content)[0];
    
    setTimeout(function() {
	GM_xmlhttpRequest({
	    method: 'GET',
	    url: url,
	    onload: function(req) {
		var div = document.createElement('div');
		div.innerHTML = req.responseText;
		text.innerHTML =  $X('id("content")//span[contains(@class, "entry-content")]', div)[0].innerHTML;
	    }
	});
    }, 0);
}

function main() {
    $X('//div[@class="entry xfolkentry hentry  "]').forEach(function(content) {
	checkContent(content);
    });
    window.addEventListener('AutoPagerize_DOMNodeInserted', function(e) {
	checkContent(e.target);
    }, false);
}

main();