How Do I Get My Redirecting Script To Add A Random Suffix To Select Sites?
I've a userscript that redirects to a random site from a list. (Reference: How to redirect to one out of given set of sites?) How do I get the script to add a random suffix to sel
Solution 1:
Adding the random suffix, means that the script must change how it checks what site it is on -- as well as how it selects a new URL. So, for those sites, we must check for a partial match.
But, rather than explain every piece of it, here's a big bunch o' code. ;) It should be a little self-documenting. :
// ==UserScript==// @name Multipage, MultiSite slideshow of sorts// @match http://*.breaktaker.com/*// @match http://*.imageshack.us/*// @match http://static.tumblr.com/*// @match http://withfriendship.com/images/*// @match http://failjudge.com/*// @match http://wallbase.cc/*// ==/UserScript==var urlsToLoad = [
{ url: 'http://www.breaktaker.com/albums/pictures/animals/BigCat.jpg',
useSuffix: false
},
{ url: 'http://img375.imageshack.us/img375/8105/bigcats34ye4.jpg',
useSuffix: false
},
{ url: 'http://withfriendship.com/images/g/33769/1.jpg',
useSuffix: false
},
{ url: 'http://static.tumblr.com/yd0wcto/LXQlx109d/bigcats.jpg',
useSuffix: false
},
{ url: 'http://failjudge.com/',
useSuffix: false
},
//--- Fur suffix URLs, include everything before the suffix only.
{ url: 'http://wallbase.cc/wallpaper/',
useSuffix: true
}
];
/*--- Since many of these sites load large pictures, Chrome's normal or its
"document end" injection may fire a good deal before the image(s) finish
loading.
So, insure script fires after load:
*/window.addEventListener (
"load",
function () { setTimeout (GotoRandomURL, 4000); },
false
);
if (document.readyState == "complete") {
setTimeout (GotoRandomURL, 4000);
}
functionGotoRandomURL () {
var numUrls = urlsToLoad.length;
var urlIdx = -1;
for (var J = numUrls - 1; J >= 0; --J) {
if (urlsToLoad[J].useSuffix) {
//--- Check that URL starts with the specified valuevar prefChk = newRegExp ('^' + urlsToLoad[J].url, 'i');
if (prefChk.test (location.href) ) {
urlIdx = J;
break;
}
}
else {
if (urlsToLoad[J].url == location.href) {
urlIdx = J;
break;
}
}
}
if (urlIdx >= 0) {
urlsToLoad.splice (urlIdx, 1);
numUrls--;
}
urlIdx = Math.floor (Math.random () * numUrls);
var targURL = urlsToLoad[urlIdx].url;
if (urlsToLoad[urlIdx].useSuffix) {
//--- Note: wallbase.cc currently has less than 2-million wallpapers.
targURL += Math.ceil (Math.random () * 2000000);
}
console.log ('\n\n***\n', targURL, '\n***\n\n');
location.href = targURL;
}
Post a Comment for "How Do I Get My Redirecting Script To Add A Random Suffix To Select Sites?"