Friday, 22 April 2016

Modify the URL without reloading the page

This can now be done in Chrome, Safari, FF4+, and IE10pp4+!
Example:
 function processAjaxData(response, urlPath){
     document.getElementById("content").innerHTML = response.html;
     document.title = response.pageTitle;
     window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
 }
You can then use window.onpopstate to detect the back/forward button navigation:
window.onpopstate = function(e){
    if(e.state){
        document.getElementById("content").innerHTML = e.state.html;
        document.title = e.state.pageTitle;
    }
};

No comments:

Post a Comment

Alternative content