Well, maybe the problem is that you did not use History.js correctly (that I have a problem too). Basically, to use History.js correctly, you have to do something like:
// Register navigation click handlers where you will load Ajax content $( window ).on( 'click', 'a.ai1ec-load-view', handle_click_on_link_to_load_view ); // Bind to the statechange event $( window ).bind( 'statechange', handle_state_change ); // When the state changes, load the corresponding view var handle_state_change = function( e ) { var state = History.getState(); load_view( state.url, 'json' ); }; // When clicking on a link you want to load, trigger statechange by changing state var handle_click_on_link_to_load_view = function( e ) { e.preventDefault(); History.pushState( { target :this }, null, $( this ).attr( 'href' ) ); };
Before doing this, I did not listen to statechange , and I just used pushState () in the link handler.
If you do it this way, there is no need to encode a backup, it will work in html4 browsers too (and bookmarks from html4 browsers will work as expected)
source share