43 votes

Comment savoir si un navigateur prend en charge History.Pushstate ou non?

Je veux changer l'URL sans avoir à recharger la page. La solution que j'ai trouvé est

de la fenêtre.l'histoire.pushState('page2', 'Titre', '/page2.php');

mais certains navigateurs comme Firefox 3.5, IE6+ n'est pas compatible, donc, pour eux, la solution est

var uri = fenêtre.emplacement.href;

mais la question est de savoir comment découvrir si le navigateur prend en charge l'histoire.pushstate ou pas?

C'est d'ESSAYER de l'ATTRAPER est la solution possible ou toute autre chose.

82voto

Kon Points 16125
 if (history.pushState) {
  // supported.
}
 

Le test le plus rapide consiste à l'exécuter dans la console du navigateur pour voir s'il est pris en charge:

 if (history.pushState) { alert('supported'); }
 

Notez également que dans FF typeof(history.pushState) renvoie "fonction", tandis que dans IE, il renvoie "non défini"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X