support pseudo history#pushState