Search code examples
javascripthtmlgoogle-chromepushstatehtml5-history

history.pushState does not update url for "share ..." button on mobile Chrome


I am using history.pushState to update URL as below:

var state = {url: newLocation};
window.history.pushState(state, pagetitle, newLocation);    

On Mobile Chrome, the webpage URL (on the URL bar) and title do get updated as expected. But when clicking on the "Share..." button on the Chrome menu, the old URL (before calling history.pushState) is shared instead. Am I missing anything and how can I fix it? Thanks!


Solution

  • I found out that the rel="canonical" url should also be updated.

    $('link[rel="canonical"]').attr('href', newLocation);