Est-ce que quelqu'un sait si Internet Explorer prend en charge les méthodes history.pushState()
et history.replaceState()
pour manipuler l'historique du navigateur ? Etant donné que ceux-ci viennent juste d'être implémentés dans Firefox 4, je ne retiens pas mon souffle, mais est-ce que quelqu'un sait s'ils arrivent dans IE9?
Le meilleur site pour obtenir des informations sur la compatibilité de navigateur est CanIUse . Voici la section sur historique .
Résumé - IE9: non, IE10: oui (à partir de l'aperçu de la plate-forme 3)
La première version candidate d'IE9 (publiée le 10 février 2011) ne prend pas en charge history.pushState ou history.replaceState. Généralement, aucune nouvelle fonctionnalité n’est ajoutée après l’arrivée d’un produit au stade RC. Il est donc très peu probable que le dernier IE9 prenne en charge ces méthodes.
Microsoft a une bonne vue d'ensemble pour les développeurs des fonctionnalités offertes par IE9.
Mise à jour: Internet Explorer 9 a été lancé (le 14 mars 2011) et ne prend définitivement pas en charge les fonctions history.pushState()
ou history.replaceState()
.
Mise à jour 2: l'aperçu actuel de la plate-forme de IE10 ne prend toujours pas en charge pushState/replaceState .
Mise à jour 3: L'aperçu de la plate-forme 3 d'IE10 prend en charge l'historique API!Détails
IE9 ne le supporte pas.
Vous pouvez cependant utiliser un contournement en utilisant un Polyfill pour obtenir la fonctionnalité - History.js https://github.com/browserstate/history.js .
Modernizr fait un bon travail de référencement HTML 5 Polyfills ici https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills .
La mise en garde est qu'il va ajouter une chaîne de requête à votre URL dans les navigateurs qui ne prennent en charge que les fonctionnalités HTML 4.
Internet Explorer 10 prend en charge l'interface historique de la spécification HTML5, qui inclut des méthodes permettant de gérer la pile d'historique et l'URL d'un site.
Le lien d'origine: https://msdn.Microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx
Btw vous pouvez obtenir une telle erreur en raison du chemin absolu dans pushState (). Quand j'ai mis l'erreur relative de chemin a disparu.