Stay On Internet Archive
By Todd Vierling
—
Last update Aug 2, 2006
—
Installed
292 times.
// ==UserScript==
// @name Stay On Internet Archive
// @namespace http://www.duh.org/
// @description Rewrite IMG SRC and A HREF URLs to point back into the Archive.
// @include http://web.archive.org/web/*
// ==/UserScript==
//
// Last update: 2006-08-02
//
(function()
{
var urlrx = /(web\/\d{14}\/)(.*)$/;
var loc = window.location.href;
var locbase = loc.replace(urlrx, "$1");
if (loc == locbase) return;
var absrx = /^[^\/:]+:/;
var base = document.getElementsByTagName('base');
var baseurl = (base.length ? base[0].href : loc);
var links = document.evaluate(
'//a[@href]', document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null
);
for (var i = 0; i < links.snapshotLength; i++) {
var link = links.snapshotItem(i);
if (!urlrx.test(link.href)) {
if (absrx.test(link.href)) {
if (link.href.indexOf('http') == 0)
link.href = locbase + link.href;
// don't rewrite other protocols
} else
link.href = baseurl + link.href;
}
}
var imgs = document.evaluate(
'//img[@src]', document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null
);
for (var i = 0; i < imgs.snapshotLength; i++) {
var img = imgs.snapshotItem(i);
if (!urlrx.test(img.src)) {
if (absrx.test(img.src))
img.src = locbase + img.src;
else
img.src = baseurl + img.src;
}
}
})();