I've had an idea for a while to accelerate page changes on one site with AJAX. This is what I came up with.
function getAjaxObject()
{
xmlhttp=new XMLHttpRequest(); //Decent Browsers
if (!xmlhttp || xmlhttp == undefined || xmlhttp == null) xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); //IE7+
if (!xmlhttp || xmlhttp == undefined || xmlhttp == null) xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE6-
return xmlhttp;
}
function loadPage(url)
{
xmlhttp = getAjaxObject();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementsByTagName("html")[0].innerHTML=xmlhttp.responseText;
processTags();
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function processTags()
{
var atags=document.getElementsByTagName("a");
for (x in atags)
{
atags[x].onclick="loadPage('"+atags[x].href+"');";
atags[x].href="#"; //This also causes it to scroll to the top of the page.
}
}
processTags();
This basically replaces all the 'A' tags on a page with a call to an AJAX function that loads the new page w/o refreshing.
Obviously there are incompatibility issues with this. On Omnimaga, where I tested, posting is a bit wonky, you also can't click links to sites outside the current domain.
It is considerably faster loading pages for me, though.
Also, this doesn't take a considerable amount of real-world situations into consideration, so don't be surprised if it breaks more than it does good.

If you want to give it a try, here's the JS to paste in your address bar. This should, at least in theory, work with (most) any site.
javascript:head=document.getElementsByTagName('head')[0];script=document.createElement('script');script.type='text/javascript';script.src='http://netham45.org/fastload.js?t=6';head.appendChild(script);void(0);
Or, click here.