There is legacy code, front: html, js (and jquery), back: core asp. The individual sections are made as a spa, without any frameworks, just ajax, but the index page is made of razor-Ohm. Support history was originally laid was not, but all the actions on the page to adequately form the url if you copy and paste into your browser adequately displays a page. If zhmakat forward and backward buttons in the browser url changing, but page reload is not happening.
There is a task to implement the sections of the support history. The problem is that the page is loaded, which is generated on the server with razor, and then, when working with a page, the individual blocks are loaded Ajax. Ie or me to rewrite entirely as originally rendered page (to do this the controller to do the Ajax request, the data forming the page on the client, which can be 3-4 unit under different queries, etc., in General, almost from scratch to write a view with all js logic, or to find another solution:)
All of the methods window.location make pushState (well, except for getting the url)), so reload the page with it, can't spoil the story. I tried Ajax to get all the index of the page cut from her body and stupid to insert in the body of the current page. Get artifacts nadgrajeni/unearned js scripts in some of the blocks that are in the index as a partial view.
In General, the question how to make that semblance of a window.location = url, but without that it will go down in history?