This is using the Ajax-era hash hack to change URL, which is causing problems with history and makes the reload button and favicon flash.
I'd suggest using HTML5 history, specifically replaceState(). It works on all modern browsers. Works on IE10, but not IE9 and below. If you want to support IE, you could fall back to the current location.replace().