JeuWeb - Crée ton jeu par navigateur
Modifier l'URL avec Javascript dans les navigateurs modernes - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Modifier l'URL avec Javascript dans les navigateurs modernes (/showthread.php?tid=593)



Modifier l'URL avec Javascript dans les navigateurs modernes - Sephi-Chan - 28-12-2010

Hello,

Aujourd'hui, j'ai pris connaissance de cette fonctionnalité lié à HTML5 : il est désormais possible de modifier l'URL via Javascript et son objet History. C'est un grand pas pour les applications riches !

Un peu de documentation sur Mozilla Developer Center - Manipulating the browser history et un screencast explicatif (en anglais).

De plus, il existe une library Javascript History.js pour normaliser l'implémentation de ce composant d'un navigateur à l'autre.


Sephi-Chan


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - srm - 28-12-2010

Et l'utilité ?
Je ne peux pas regarder le screencast, je suis chez mes parents avec une connexion "légère" :p


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - Sephi-Chan - 28-12-2010

Ça permet notamment de rendre l'utilisation d'Ajax bien plus pratique en ne perdant pas les URLs et le sens qu'elles portent. On peut bookmarer les pages et y revenir dans leur état. Smile


Sephi-Chan


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - Horace - 15-02-2011

Ca existe depuis longtemps, et c'est une pratique classique conseillée avec Ajax. Tous les sites sous ajax intensif l'utilisent pour bookmark et retours. Voir deezer, gmail, etc. Exemple d'URL https://mail.google.com/mail/?shva=1#inbox

Enfin j'ai pas lu la "révolution HTML5" sur cette technique... Wink


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - Sephi-Chan - 15-02-2011

Tu as commenté un peu vite. Smile


history.pushState({ foo: "bar" }, "State Foo", "/foo");

Si j'exécute ça dans une console, ma barre d'adresse change et passe de /showthread.php?tid=7251 à /foo.
Pas de paramètre GET avec une ancre, c'est bien la vraie URL qui change.


Sephi-Chan


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - Holy - 15-02-2011

(15-02-2011, 09:53 PM)Sephi-Chan a écrit : Tu as commenté un peu vite. Smile


history.pushState({ foo: "bar" }, "State Foo", "/foo");

Si j'exécute ça dans une console, ma barre d'adresse change et passe de /showthread.php?tid=7251 à /foo.
Pas de paramètre GET avec une ancre, c'est bien la vraie URL qui change.


Sephi-Chan
J'allais le dire ^^

Google, Facebook & co utilisent une sorte de hack (de détournement) de l'ancre pour afficher du contenu. J'imagine qu'au chargement de la page, y a une petite analyse sur l'ancre qui lance le contenu ajax en conséquence.


RE: Modifier l'URL avec Javascript dans les navigateurs modernes - Horace - 16-02-2011

Ah ok. J'ai lu. :$ Ouais, ce sera plus propre.

On pourra faire défiler du texte dans la barre d'adresse ! Cool