How can you detect a window.location.hash
onchange, for example I could do this:
if(window.location.hash.hasChanged())
{
// ajax stuff
}
else
Ben Alman's hashchange jQuery plugin provides the ability to monitor the hash for changes.
Most recent browsers (FF3.6+, IE8, Chrome) support the "hashchange" event on the window object - see MDC: window.onhashchange for usage examples. Simple asynchronous listening might look like:
window.onhashchange = function() {
// do something awesome here
};
If you want an implementation that supports older browsers, things get complicated quite quickly, and I recommend using someone else's library or plugin - see answers to this question for several suggestions.