2009-10-05 7 views
0

Je pensais que JavaScript ne vous permettait pas de mettre à jour l'URL du navigateur (pour bookmarking, etc) sans faire une mise à jour complète de la page. Facebook semble accomplir cela dans leur application de photos, cependant. Lorsque je clique sur "suivant" pour voir la photo suivante, la nouvelle photo se charge et l'URL est mise à jour, mais la page entière ne s'actualise pas. Est-ce que quelqu'un sait comment ils accomplissent cela?Comment actualiser le contenu de la page et mettre à jour l'URL sans recharger la page complète?

+0

Ils modifient probablement juste le fragment de l'URL (la partie après le premier caractère "#"). – Gumbo

Répondre

4

Ils ne mettent pas à jour l'URL en soi, ils mettent uniquement à jour le hachage (c'est-à-dire # suivi d'instructions). Le hachage n'est jamais envoyé au serveur, mais peut être utilisé pour aller à des points d'ancrage dans le DOM (fonctionnalité du navigateur intégré), ou utilisé comme point d'ancrage pour JavaScript. Lors du chargement de la page avec un ensemble de variables de hachage, ils envoient une requête Ajax pour récupérer la photo correspondante. Le chargement initial de la page chargera cependant l'image indiquée par l'URL avant le caractère #.

+0

Je me suis toujours interrogé sur leurs URLs fous, avec l'ancre au milieu d'eux. Maintenant, je comprends une partie de la motivation. Merci! –

Questions connexes