I built this in 20 mins and haven't taken browser compatibility into account. Anything that doesn't support XHR, HTML5 History API and JSON object should just fallback to old behaviour imo.