web-dev-qa-db-fra.com

Comment le bouton Précédent doit-il se comporter lorsqu'un site est construit avec AJAX et JavaScript?

J'ai créé plusieurs sites Web et applications Web et je ne suis toujours pas sûr du comportement du bouton de retour du navigateur.

Dans certains cas où AJAX et la technologie JavaScript sont utilisés, le fait d'appuyer sur le bouton Précédent affichera une page qui sera très différente de ce que l'utilisateur aurait laissé lorsqu'il a quitté la page. Je pense que l'utilisateur devrait trouver exactement ce qu'il voyait, sauf s'il s'agit d'une action ponctuelle, telle qu'acheter un article, imprimer une page, télécharger un fichier, etc., dans ce cas l'utilisateur sera rendu même HTML et DOM chargés, mais sans, évidemment, répéter l'action, peut-être avec une indication.

Serait-ce une approche correcte? J'ai vu des questions sur le rechargement de la page après avoir appuyé sur le bouton Précédent afin d'effacer tous les DOM construits et modifiés, mais cela rendrait une nouvelle page, ce qui ne correspond pas exactement à ce à quoi l'utilisateur s'attendrait.

2
Cesar

Idéalement, votre navigateur doit toujours revenir en arrière dans l'historique du contenu affiché sur la page, y compris le contenu ajouté à l'aide d'AJAX. Maintenant, historiquement, cela a été difficile et a impliqué d’utiliser des hashtags dans l’URL et de capturer le hashtag à l’aide de javascript lors du chargement de la page, puis de relancer l’appel AJAX en question, mais depuis la création de HTML5, cette beaucoup plus facile grâce à l'utilisation de HTML5 History API . L'API vous permet de modifier l'URL du site Web sans actualisation complète de la page, ce qui est particulièrement utile pour le contenu de page basé sur AJAX.

Pour plus d'informations sur la procédure à suivre dans votre implémentation spécifique, consultez http://www.w3schools.com/jsref/obj_history.asp

1
Chris Rutherfurd