Page non rechargée via 'back' lors de l'utilisation de pushState () / onpopstate
Je suis rafraîchissante quelques pages avec AJAX et donc une mise à jour de l'histoire avec le code suivant -
/** Update the page history */
var pushState_object = {
ajax_string: ajax_string,
security: security,
};
window.history.pushState(pushState_object, title, permalink);
Je suis alors à l'appel de cette onPopState fonction au chargement de la page -
window.onpopstate = function(e){
if(window.history.state !== null){
initiate_load_updated_page(window.history.state.ajax_string, window.history.state.security, 0)
}
}
J'ai un léger problème mais à l'aide de la touche retour lorsqu'on passe d'une page où le contenu a été généré par AJAX à une page qui a été chargé de la manière habituelle. L'URL va changer, mais la page se recharge pas. En cliquant de nouveau de retour me ramène à la page d'avant, que je m'attends, et puis aller de l'avant fonctionne très bien - c'est juste qu'un exemple de situation où le bouton retour ne fonctionne pas.
Toutes les suggestions seraient appréciées.
source d'informationauteur David Gard
Vous devez vous connecter pour publier un commentaire.
L'état initial n'a pas un
.state
des biens disponibles, parce que vous ne l'utilisez pas.pushState
pour ajouter ces données (il a été chargé de manière normale comme vous le décrivez).Ce que vous savez bien que, est que si il n'y a pas de
.state
il doit être l'état d'origine, de sorte que vous pouvez utiliser unelse
bloc comme ceci: http://jsfiddle.net/pimvdb/CCgDn/1/.Enfin, vous pouvez utiliser
e.state
.