pushstate no refresca la página. si ejecutas este código verás que sólo aparece la alerta al cargar la página
Cita: window.onload = function(){alert('este mensaje sólo aparecera esta vez');}
function fnc() {
window.history.pushState({ hash : 'hash' }, 'page 2', 'hash');
}