pushState callback with a #hash fallback