Historique

Internet Explorer 10 prend désormais en charge l’interface Historique de l’ébauche de spécification HTML5, qui comprend des méthodes permettant de gérer la pile d’historique d’un site et l’URL. Ce contrôle fournit aux utilisateurs finaux les performances qu’ils attendent des boutons Précédent et Suivant et de la mise à jour de pages de petite taille sans navigation ou chargement de page. L’historique HTML5 est défini dans la section 5.4.2 de la spécification HTML5 du World Wide Web Consortium (W3C).

Méthodes history.pushState() et history.replaceState()

En utilisant la méthode history.pushState(), vous pouvez créer une entrée d’historique et éventuellement inclure un objet d’état. La méthode history.replaceState() vous permet de modifier l’élément d’historique actuel. Voici la syntaxe de ces deux méthodes.


history.pushState(data, title, url); 
history.replaceState(data, title, url); 


ParamètreDescription

data

Objet d’état à associer à la nouvelle entrée d’historique. Retourné en tant que propriété state de l’événement onpopstate.

title

Actuellement ignoré par Internet Explorer 10.

url

(Facultatif) URL relative ou absolue dans le même domaine ou la même origine que l’URL actuelle.

 

En utilisant ces nouvelles méthodes HTML5, vous pouvez modifier le chemin d’accès dans le site Web. Cependant, pour des raisons de sécurité, vous ne pouvez modifier ni le domaine ni l’origine de l’URL actuelle. Vous pouvez également modifier le fragment de l’URL à la suite du symbole livre (également désigné sous le nom de hachage) ou le segment de requête à la suite d’un point d’interrogation (?) de l’URL. Par exemple, avec l’URL "http://go.microsoft.com/fwlink/p/?LinkId=214816", vous pouvez modifier presque tout à droite de ".com". Vous pouvez remplacer cette URL par "http://go.microsoft.com/fwlink/p/?LinkID=58649" mais vous ne pouvez pas modifier le domaine (go.microsoft.com), le port ni le schéma (http://). Le tableau suivant affiche quelques autres mises à jour apportées à cette URL et indique si elles sont ou non autorisées :

Modification de l’URLÉtat
go.microsoft.com/fooautorisé
http://go.microsoft.com/fooautorisé
/fooautorisé
Foo?queryautorisé
/foo#somedataautorisé
www.microsoft.comerreur
http://go.microsoft.com:9090/fooerreur

 

Événement window.onpopstate

Le gestionnaire d’événements window.onpopstate avertit votre application lorsque l’utilisateur navigue entre deux entrées de voyage dans l’historique, où au moins l’une d’elles a été créée avec history.pushState() ou history.replaceState(). Cela se produit via une interaction de l’interface utilisateur, telle qu’un clic sur le bouton Précédent ou Suivant, un clic sur Précédent dans un menu contextuel ou un appui sur la touche Retour arrière. Cela peut également se produire en appuyant sur Alt+Gauche, Alt+Droite ou la touche Retour arrière, ou en appelant history.back, history.forward ou history.go.

Le paramètre d’événement popstate contient l’objet d’état (défini par le paramètre de données) de la méthode pushState ou replaceState. La propriété history.state contient également l’objet d’état. Lorsqu’une page est initialement chargée, la valeur de l’état est Null. Lorsque pushState est appelé, la pile Forward est effacée, mais l’appel à replaceState n’efface pas la pile Forward.

Informations de référence sur les API

PopStateEvent
pushState

Démonstrations du site Internet Explorer Test Drive

HTML5 History Example: Undo

Billets IEBlog

Historique HTML5 dans IE10

Spécification

HTML5 : Section 5.5.2

 

 

Afficher:
© 2014 Microsoft