11550 sujets

JavaScript, DOM et API Web HTML5

Une question me taraude en navigant sur ce site : le contenu des pages est-il chargé de manière asynchrone? Le menu ne semble pas bouger d'un pouce lors du chargement des pages... mais dans le même temps, lorsqu'on clique sur le bouton "back", on tombe bel et bien sur la page "asynchrone" précédente...

Donc... asynchrone ou pas? Et si oui, comment est-il possible de faire en sorte que le bouton back & next renvoient bien vers le contenu précédemment chargé?

Merci d'avance!
Bonjour,

alsacreations n'est pas un site sur lequel tu navigues en Ajax ( Asynchrone ).

Lorsque tu cliques sur le bouton " retour " de ton navigateur, il va aller chercher l'URL précédement visitée, même si celle-ci est une ancre.
Les sites qui fonctionnent en Ajax utilisent habituellement cette méthode pour permettre une navigation " normale " via le navigateur. L'URL change pour se retrouver avec un truc du genre " http://www.monsite.com/#page/ma-super-page-ajax-1.html ".
Un écouteur (ou un script ) Javascript va voir que l'adresse a changé et va donc, via une requette Ajax, appeller le serveur afin qu'on lui fournisse le contenu désiré.
Pour compléter l'information donnée plus haut, l'écouteur en javascript est un évènement nommé onhashchange.
n3k0 a écrit :
Les sites qui fonctionnent en Ajax utilisent habituellement cette méthode pour permettre une navigation " normale " via le navigateur. L'URL change pour se retrouver avec un truc du genre " http://www.monsite.com/#page/ma-super-page-ajax-1.html ".

D'ailleurs, c'est mal (argumentaire en anglais).

Sauf si vous avez vraiment beaucoup à gagner et que vous savez mesurer les risques, faites de la navigation HTTP classique, au moins pour vos contenus principaux. Et éventuellement, dans les navigateurs qui le supportent, utilisez pushState (HTML5).