2017-09-21 3 views
0

Je voudrais changer d'adresse sans navigation. je le fais commeaprès l'histoire pushState l'arrière n'est pas naviguer

var url = window.location.href; 
    url = url.split('#'); 
    var url_ = url[0] + '?task=product&url=' + selectedUrl; 
    history.pushState(null, null, url_); 

Après j'entrer sur url dans la barre d'adresse et naviguais à cette url url[0] + '?task=product&url=' + selectedUrl. Mais le problème vient quand je reviens, l'adresse a été changée mais pas la page (la page n'est pas chargée pour l'URL modifiée).

Maintenant, comment puis-je revenir en arrière et charger la page par cette URL? History.pushState ne manipule que l'historique du navigateur.

+0

double possible de [bouton/backspace Retour ne fonctionne pas avec window.history. pushState] (https://stackoverflow.com/questions/19335372/back-button-backspace-does-not-work-with-window-history-pushstate) –

+0

'pustState' change seulement l'URL et stocke certaines méta-informations mais pas le contenu de la page. Vous devez écouter l'événement [popstate] (https://developer.mozilla.org/en-US/docs/Web/Events/popstate) et mettre à jour le contenu de votre page en conséquence. –

+0

merci, ça aide. –

Répondre

0

Je suis un peu confus par vous libellé, mais vous pouvez toujours

window.location = url; 

rediriger vers où vous voulez aller

+0

oui, mais quand je clique dans le navigateur Retour bouton, il ne charge pas la page, seulement changer l'url –

+0

Je ne suis toujours pas sûr de ce que vous essayez de faire. Je ne pense pas que cela fonctionne comme vous le pensez, je voudrais donner une lecture https://developer.mozilla.org/en-US/docs/Web/API/History_API Cela peut aussi aider https: // développeur .mozilla.org/fr-fr/docs/Web/API/WindowEventHandlers/onpopstate –