web-dev-qa-db-fra.com

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

Je veux changer d'URL sans recharger la page. La solution possible que j'ai trouvée est

window.history.pushState ('page2', 'Title', '/page2.php');

mais certains navigateurs comme Firefox 3.5, IE6 + ne le supportent pas, donc pour eux la solution est

var uri = window.location.href;

mais la question est de savoir si un navigateur prend en charge history.pushstate ou non?

TRY CATCH est la solution possible ou toute autre chose.

43
Ashish Agarwal
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 "function", tandis que dans IE il retourne "undefined"

82
Kon