Comment synchroniser l'historique du navigateur avec Ajax?
Je suis en train d'écrire une simple application album photo à l'aide de ASP.NET Ajax.
L'application utilise la async appels Ajax pour pré-charger la photo suivante de l'album, sans changer l'URL dans le navigateur.
Le problème est que lorsque l'utilisateur clique sur le retour bouton dans le navigateur, l'application ne permet pas de revenir à la photo précédente, au lieu de cela, il accède à la page d'accueil de l'application.
Est-il un moyen de tromper le navigateur en ajoutant à chaque appel Ajax à l'historique de navigation?
source d'informationauteur urini
Vous devez vous connecter pour publier un commentaire.
Mise à jour: Il y a maintenant le HTML5 Histoire de l'API (pushState, popState) qui dénonçait le HTML4
hashchange
fonctionnalité. History.js fournit la compatibilité inter-navigateur et un en optionhashchange
de secours pour HTML4 navigateurs.La réponse à cette question sera plus ou moins la même chose que mes réponses à ces questions:
En résumé, vous allez certainement vouloir vérifier ces deux projets, qui permettent d'expliquer l'ensemble de la hashchange processus et l'ajout d'ajax pour le mélange:
jQuery Histoire (à l'aide de hachages pour gérer vos pages de l'état et de les lier à des modifications pour mettre à jour votre page).
jQuery Ajaxy (ajax extension de jQuery Histoire, de façon à permettre aux sites web ajax tout en étant discret et gracieusement dégradables).
MSDN a un article sur La gestion de l'Historique de navigation dans ASP.NET AJAX
De nombreux sites web utilisent caché d'une iframe pour ce faire, il suffit de rafraîchir l'iframe avec la nouvelle URL, ce qui ajoute à l'historique de navigation. Alors tout ce que vous avez à faire est de gérer la façon dont votre application réagit à ces "bouton retour" des événements, vous en aurez besoin soit de détecter l'état/de l'emplacement de l'iframe, ou à l'actualisation de la page à l'aide de l'URL.
Vous pouvez utiliser simple & léger PathJS lib.
Exemple d'utilisation:
L'3.5 SP1 mise à jour est prise en charge pour l'historique de navigation et le bouton de retour dans ASP.NET ajax maintenant.
Pour toutes les solutions sur le bouton de retour, aucun d'entre eux sont "automatiques". Avec tous un seul, vous allez avoir à faire un peu de travail afin de préserver l'état de la page. Donc non, il n'y a pas un moyen de "truc" du navigateur, mais il existe quelques grandes bibliothèques que vous aider avec le bouton de retour.
Info: Ajax Navigation est un régulièrement de la prochaine IE8.
Si vous êtes à l'aide de Rails, puis certainement essayer Wiselinks https://github.com/igor-alexandrov/wiselinks. C'est un couteau Suisse pour le navigateur de gestion de l'état. Voici quelques détails: http://igor-alexandrov.github.io/blog/2013/07/11/the-way-to-wiselinks-1-dot-0/.