There are 17 previous versions of this script.
// ==UserScript==
// @name Google Reader Prefetch More
// @namespace http://userscripts.org/users/40991
// @include http://www.google.tld/reader/*
// @include https://www.google.tld/reader/*
// @unwrap
// ==/UserScript==
var first = 25; // default is 5
var next = 15; // default is 1
var list = 60; // default is 20
var version = '0.3.0';
var id = 'GoogleReaderPrefetchMore';
var config = eval(GM_getValue(id)) || { version: '', src: '', targetFunction: '', targetValue: ''};
Array.slice(document.getElementsByTagName('script')).forEach(function(e) {
if(e.src && /\/reader\/ui\/\d+-\w+-scroll.js/.test(e.src)) {
if(config.src == e.src && config.version == version) {
more(config.targetFunction, config.targetValue);
return;
}
config.version = version;
config.src = e.src;
GM_xmlhttpRequest({method: 'GET', url: config.src, onload: function(res) {
var s = res.responseText;
// aF.prototype.Om=function(){return TE(this.cb())?this.Xa?1:5:20};
var m = s.match(/;([^=]+)=(function\(\)\{[^\}]*\?1:5:20\});/);
if(m.length != 3) throw new Error('Prefetch failed. Something wrong with the js.');
config.targetFunction = m[1];
config.targetValue = m[2];
GM_setValue(id, uneval(config));
GM_log('js changed.');
more(config.targetFunction, config.targetValue);
}});
}
});
function more(targetFunction, targetValue) {
var f = 'unsafeWindow.' + targetFunction;
var v = targetValue
.replace(/function\(\){([^}]*)}/, "function(){with(unsafeWindow){$1}}")
.replace('1:5:20', [next,first,list].join(':'));
eval(f + '=' + v);
}
