Comment être notifié sur les changements de l'histoire par l'histoire.pushState?

Alors, maintenant que HTML5 introduit de l'histoire.pushState de changer les navigateurs de l'histoire, les sites web de commencer à utiliser ce en combinaison avec l'Ajax au lieu de modifier l'identificateur de fragment de l'URL.

Malheureusement, cela signifie que ces appels ne peuvent pas être détecter plus par onhashchange.

Ma question est: Est-il un moyen fiable (hack? ;)) pour détecter si un site web utilise history.pushState? La spécification ne précise rien sur les événements qui se sont élevés (au moins je ne pouvais pas trouver quoi que ce soit).

J'ai essayé de créer une façade et remplacé window.history avec mon propre objet JavaScript, mais cela n'a eu aucun effet du tout.

Plus d'explications: je suis le développement d'un add-on Firefox qui doit détecter ces changements et agir en conséquence.

Je sais qu'il y a une question similaire il y a quelques jours qui a demandé si l'écoute de certains DOM événements serait efficace, mais je préfère ne pas compter sur ce que ces événements peuvent être générés pour beaucoup de raisons différentes.

Mise à jour:

Voici un jsfiddle (utiliser Firefox 4 et Chrome 8) qui montre que onpopstate n'est pas déclenché lorsque pushState est appelé (ou suis-je en train de faire quelque chose de mal? Hésitez pas à l'améliorer!).

Mise à jour 2:

L'autre (côté) problème, c'est que window.location n'est pas mis à jour lors de l'utilisation de pushState (mais j'ai lu sur ce déjà sur DONC, je pense).

InformationsquelleAutor Felix Kling | 2010-12-31