что бы не переделывать весь код, то можно сделать так, ну завернуть это куда нить или еще как нить
var
history = window.history,
pushState = history.pushState,
replaceState = history.replaceState,
initialFire = document.location.href;
history.pushState = function() {
initialFire = false;
pushState.apply( history, arguments );
}
history.replaceState = function() {
initialFire = false;
replaceState.apply( history, arguments );
}
window.onpopstate = function(){
if ( initialFire === document.location.href ) {
return initialFire = false;
}
initialFire = false;
// some code here
// ...
}