J'ai fait un lot du travail avec l'histoire et en utilisant le hachage. Presque tous les plugins d'histoire existants ont une sorte de fossé en eux. Celui que je l'ai utilisé qui est assez proche de la perfection est celui qui est un plugin jQuery:
http://www.mikage.to/jquery/jquery.history.js
Il a été mis à jour en Mars de cette année poignées IE 8 questions et il touche aussi IE6 avec assez de succès. Une chose que j'ai remarqué est que IE déteste vraiment avoir? dans le hachage après le #. Il arrête de gérer correctement le hachage lorsque le? est présent. Même celui-ci, je pense, a besoin d'un petit patch pour le?, J'ai vraiment besoin d'envoyer ça à Mikage. La façon de gérer cela est au lieu d'utiliser location.hash
dans le plug-in lors du référencement du hachage, utilisez cette fonction:
function getHash(loc) {
loc = loc.toString();
if (loc.indexOf("#") != -1)
return loc.substring(loc.indexOf("#"));
else return "";
}
Donc, dans ces endroits où vous avez besoin le hachage, passez location
la pour fonctionner ...
getHash(location)
... au lieu d'utiliser location.href. Mais notez que pour IE, parce qu'il utilise l'iframe, vous voulez plutôt utiliser iframe.location.
getHash(iframe.location)
Bug Yahoo
Vous pouvez voir que Yahoo n'a pas gracieusement poignée de IE quand on regarde cette URL:
http://developer.yahoo.com/yui/examples/history/history-tabview.html#tabview=tab1?7236471234
Il faut simplement ignorer la module inexistant, (ce qu'il fait pour les autres noms qui n'ont pas de? Mais il soulève une erreur JavaScript quand un? est dans l'URL.
(je dirigerai cette liste dans un moment)
vraiment tout simplement l'histoire
Franchement, il est question principale semble être qu'il est parti en sommeil. Je l'ai connu this issue et ne voulait pas creuser à travers elle:
En outre, même si aucun changement semblent ont lieu sur la page pendant que je voyage en arrière à travers l'histoire, l'arrière fonctionnalité sera retourner une fois que j'ai frappé les pages que j'avais été la navigation avant celle en utilisant RSH. Donc, si je cliqué sur quatre liens dans la page RSH, back fonctionnalité retournera après J'ai cliqué sur le bouton de retour quatre fois. J'espère que cela à du sens.
+1 pour les lacunes, mais plus important encore pour le? après #, qui pourrait facilement être le tueur ici – annakata
Je n'avais jamais entendu parler du '#?' question avant. Bon à savoir. –
La chose amusante est, j'ai modélisé ma fonction historique pour travailler exactement comme une URL et pensé que j'étais très intelligent. Après avoir erré en regardant les différentes implémentations et voir si j'avais bien fait, je suis tombé sur facebook, ce qui arrive à utiliser une idée très similaire pour suivre l'histoire. Franchement, je devrais transformer ceci en un plugin plus étoffé qui est complet avec l'analyseur d'URL et le rende conduit par l'événement. – cgp