Je suis à la recherche d'un polyfill pour l'API HTML5 History. Je ne comprends pas pourquoi https://github.com/browserstate/History.js/ est très populaire car il y a beaucoup de problèmes (au 27 juin 2012, il y a 109 problèmes ouverts signalés sur Github). Ce qui m'ennuie vraiment, c'est " statechage est déclenché chaque fois que pushState est appelé ". J'aimerais savoir s'il existe une implémentation de l'API historique pour les IE (puisque tous les autres navigateurs l'ont déjà implémentée ).
Réponses
Trop de publicités?Pour ce que ça vaut. Au début de cette année, balupton a transféré la maintenance de History.js à la communauté et a migré le dépôt à https://github.com/browserstate/history.js
Le problème de l'énorme liste de questions a quelques raisons complexes et auto-alimentées :
- C'était au départ un projet parallèle de Balupton.
- Il est devenu incroyablement populaire presque instantanément car il était le premier de son genre.
- Il est le plus complet en termes de prise en charge et de normalisation des particularités des navigateurs.
- L'intense popularité du projet soulève des problèmes de support plus généraux et des cas limites.
- Répondre aux questions d'assistance et résoudre les cas limites (d'autant plus qu'ils nécessitent des tests manuels sur tous les appareils et toutes les versions) est un travail à plein temps, que M. Balupton n'a pas pu mener à bien en tant que projet secondaire ne lui rapportant aucun revenu.
- Balupton a abandonné le projet pendant un certain temps pour des raisons de stress, et les demandes de pull n'ont pas été validées.
- Depuis le début de l'année, quelques mainteneurs ont contacté balupton, et le projet est maintenant géré par la communauté.
- Les demandes de transfert sont maintenant acceptées et les mainteneurs y travaillent dans le cadre de leur travail quotidien.
En ce qui concerne l'appel pushState qui déclenche instantanément l'événement statechange. Il s'agit d'une meilleure pratique de balupton, issue de ses années de développement d'applications à page unique. Il y a un problème quelque part dans le dépôt, et de mémoire, cela va probablement changer dans une prochaine version, car il y a quelques cas limites où ce n'est pas souhaitable.
Pour plus d'informations sur tout cela, regardez ce discours de balupton
Vous pouvez essayer le jQuery mobile AJAX Navigation api.
Le site
$.mobile.navigate
et la méthodenavigate
constituent la base de l'infrastructure de navigation de jQuery Mobile. En tant que tel, ils peuvent fonctionner en dehors des limites de jQuery Mobile comme une API de navigation/historique propre et intuitive.