Comment puis-je changer l'emplacement de la fenêtre sans recharger et # hack?

Au début, je pensais que hash hack est une exigence, mais à en juger par les mises à jour récentes de facebook, je pense autrement.

Le hack hash original (je ne sais pas si c'est le bon terme) est qu'en changeant location.hash, on peut enregistrer un état dans l'URL sans actualiser la page. Ceci est largement utilisé par les applications de Google, Facebook, et dernièrement #NewTwitter. Cependant, aujourd'hui, j'ai remarqué que Facebook n'a plus ce "#" si vous utilisez un navigateur "moderne" – comme chrome ou firefox. J'ai vérifié qu'ils ne rechargent pas en utilisant des outils de développement et des firebug respectivement.

Avec une recherche minimale dans stackoverflow, le plus proche de la solution utilise Flash – mais j'ai désactivé Flash et Facebook.com fonctionne toujours comme un charme. À en juger par la couverture de chrome 8 dev et Firefox 4 beta, je me demande que cela pourrait être lié aux API de l'ère HTML5, mais le code de Facebook n'a pas la capacité de débiter pour savoir ce qu'ils ont fait.

Puisque c'est comme la première question que je pose ici, je me demande si l'un d'entre vous a déjà résolu ce problème.

Merci les gars.

PS Ne fonctionne pas sur IE8, n'a pas testé sur IE9 bêta.

Facebook utilise l'api d'histoire dans HTML5. À partir de cette publication sur le blog, vous pouvez voir comment cela fonctionne. Fondamentalement, ils font des appels comme celui ci-dessous pour changer l'URL sans recharger la page.

window.history.pushState("object or string", "Title", "/new-url"); 

Voici le spécimen de brouillage HTML5 à propos de ce sujet: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#the-location-interface

Malheureusement, IE9 ne supporte pas cet api. Les nouvelles versions de Chrome et FF bénéficient d'un support complet.