FastLadderTako3
By snj14
—
Last update Sep 25, 2007
—
Installed
84 times.
// ==UserScript==
// @name FastLadderTako3
// @namespace http://white.s151.xrea.com/
// @include http://fastladder.com/subscribe/*
// ==/UserScript==
var feed_candidates = $X('id("feed_candidates")');
if(!feed_candidates.length) return;
var fastladder = 'http://fastladder.com/subscribe/'
var url = location.href.replace(fastladder,'');
var tako3 = 'http://tako3.com/json/';
var place = document.getElementById('content-inner');
GM_xmlhttpRequest({
method: 'GET',
url: tako3 + url,
onload: function(res){
var create = function(name){return document.createElement(name);}
var tako3 = function(lst) {
if(!lst.length) return;
var holder = create('div');
holder.id = 'GM_Fastladder_tako3';
place.appendChild(holder);
GM_addStyle('#GM_Fastladder_tako3 {padding: 30px;}');
lst.forEach(function(e){
var li = create('li');
var a = create('a');
a.innerHTML = e;
a.href = e;
var subscribe = create('a');
subscribe.innerHTML = 'subscribe';
subscribe.href = fastladder + e
li.appendChild(subscribe);
li.appendChild(document.createTextNode(' '))
li.appendChild(a);
holder.appendChild(li);
});
var p = create('a');
p.href = 'http://tako3.com/';
p.innerHTML = 'powered by tako3';
holder.appendChild(p);
}
eval(res.responseText);
},
onerror: function(res){console.log(res)},
});
function $X(exp, context) {
if (!context) context = document;
var resolver = function (prefix) {
var o = document.createNSResolver(context)(prefix);
return o ? o : (document.contentType == "text/html") ? "" : "http://www.w3.org/1999/xhtml";
}
var exp = document.createExpression(exp, resolver);
var result = exp.evaluate(context, XPathResult.ANY_TYPE, null);
switch (result.resultType) {
case XPathResult.STRING_TYPE : return result.stringValue;
case XPathResult.NUMBER_TYPE : return result.numberValue;
case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
case XPathResult.UNORDERED_NODE_ITERATOR_TYPE: {
try{
result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
}catch(e){
log(["error: ",e]);
}
var ret = [];
for (var i = 0, len = result.snapshotLength; i < len ; i++) {
ret.push(result.snapshotItem(i));
}
return ret;
}
}
return null;
}