Le octothorphe/nombre de signe/hashmark a une signification particulière dans une URL, il s'identifie normalement le nom d'une section d'un document. Le précis du terme, c'est que le texte qui suit le hachage est l' ancrage de la partie d'une URL. Si vous utilisez Wikipédia, vous verrez que la plupart des pages de table des matières et vous pouvez passer à des sections dans le document avec une ancre, tels que:
https://secure.wikimedia.org/wikipedia/en/wiki/Alan_Turing#Early_computers_and_the_Turing_test
https://secure.wikimedia.org/wikipedia/en/wiki/Alan_Turing
identifie la page et Early_computers_and_the_Turing_test
est le point d'ancrage. La raison que Facebook et autres Javascript applications (comme mon propre Bois Et Pierres) utiliser des ancres est qu'ils veulent faire des pages bookmarkable (comme le suggère un commentaire sur cette réponse) ou appuyer sur le bouton de retour sans recharger la page entière à partir du serveur.
Afin de soutenir la mise en favori et le bouton de retour, vous avez besoin de changer l'URL. Toutefois, si vous modifiez la portion de la page (avec quelque chose comme window.location = 'http://raganwald.com';
) vers une autre URL ou sans spécifier un point d'ancrage, le navigateur charge la page entière à partir de l'URL. Essayez ceci dans Firebug ou Safari la console Javascript. Charge http://minimal-github.gilesb.com/raganwald
. Maintenant dans la console Javascript, tapez:
window.location = 'http://minimal-github.gilesb.com/raganwald';
Vous verrez l'actualisation de la page à partir du serveur. Maintenant, tapez:
window.location = 'http://minimal-github.gilesb.com/raganwald#try_this';
Aha! Pas de rafraîchir la page! Type:
window.location = 'http://minimal-github.gilesb.com/raganwald#and_this';
Toujours pas de rafraîchissement. Utilisez le bouton précédent pour voir que ces Url sont dans l'historique du navigateur. Le navigateur d'avis que nous sommes sur la même page, mais simplement de changer le point d'ancrage, de sorte qu'il ne recharge pas. Grâce à ce comportement, nous pouvons avoir un seul Javascript de l'application qui s'affiche le navigateur sur une page, mais à avoir de nombreux bookmarkable sections qui respectent le bouton retour. La demande doit modifier l'ancrage lorsque l'utilisateur entre les différents "états", et de même, si un utilisateur utilise le bouton retour ou un signet ou un lien pour charger l'application avec un point d'ancrage inclus, la demande doit restaurer l'état approprié.
Donc là vous l'avez: les Ancres de fournir aux programmeurs Javascript avec un mécanisme pour le faire bookmarkable, indexable, et le dos-bouton-friendly applications. Cette technique a un nom: C'est une Seule Page de l'Interface.
p.s. Il y a un quatrième avantage de cette technique: la page de Chargement du contenu via AJAX et ensuite l'injecter dans le DOM actuel peut être beaucoup plus rapide que le chargement d'une nouvelle page. En plus de l'augmentation de la vitesse, d'autres des astuces comme le chargement de certaines parties de l'arrière-plan peut être effectuée dans le programmeur.
p.p.s. Étant donné tout cela, le "bang" ou un point d'exclamation est un indice de Google web crawler qui a la même page peut être chargé à partir du serveur à un peu différente de l'URL. Voir Exploration Ajax. Une autre technique est de faire de chaque lien pointe vers un serveur accessible par l'URL, puis utiliser Javascript discret pour le transformer en un SPI avec une ancre.
Voici le lien de nouveau: La Page Unique de l'Interface Manifeste