You have to enable Backbone's History
with:
Backbone.history.start({ pushState: true })
If your browser support push state, you will be able to receive events regarding url change, for example when the back button is pressed, and your router will do the rest (rendering the correct view for the current url). This means that if you go to your app at the url /app
and then navigate your single page app with Router.navigate
and go to /app/account
, Backbone will put an entry in the browser's history. When the back button is pressed, you will be brought back to /app
without a page reload, but your Router
will be notified of this url change nonetheless, and will react accordingly (ie, render the correct view).