Question

À ce stade, nous avons une galerie de photos qui utilise des valeurs de hachage pour déterminer quelle image est actuellement affichée à l'utilisateur et pour permettre l'envoi de la page à un ami, etc. Quelque chose comme:

http: // url / photos / # photo-4

Lorsque nous avons chargé l'image correspondante après avoir cliqué sur le bouton suivant ou précédent, nous modifions l'URL conformément à la spécification JS 1.1 à l'aide de:

top.location.replace(url.url + hash);

Notre comportement souhaité est qu'aucun élément d'historique n'est en cours de création. Les utilisateurs peuvent donc utiliser le bouton Précédent pour quitter la galerie photo au lieu d'utiliser le bouton Précédent pour afficher les images précédentes.

Dans IE et Firefox, la méthode fonctionne à merveille, mais Safari et Chrome créent un élément d’historique pour l’URL modifiée. J'ai trouvé beaucoup d'exemples sur la manière de créer des éléments d'historique lorsque vous utilisez le hachage pour naviguer de cette manière, mais je souhaite procéder de la même manière. Un indice?

Était-ce utile?

La solution

Cela fonctionne comme prévu maintenant:

Sous Safari [5.1.7], l'emplacement.replace () fonctionne comme prévu & # 8211; & nbsp; l'URL est remplacée, rien n'est ajouté à la file d'attente du bouton Précédent, ni à rien. le menu historique.

Sous Chrome [21.0.1180.82], location.replace () est un peu compliqué & # 8211; l'URL est remplacée et rien n'est ajouté à la file d'attente du bouton Précédent, mais ce dernier ajoute un élément au menu historique .

La difficulté réside dans le fait qu’il existe deux files d’historique distinctes & # 8211; le menu historique et les boutons précédent / suivant. Cliquez et maintenez les boutons Précédent et Suivant pour afficher leur file d'attente et les comparer au menu de l'historique.

Et la file d’historique des boutons Précédent / Suivant est liée à l’onglet actif. En outre, l'historique des boutons demeure même lorsque vous effacez le menu de l'historique & # 8211; & nbsp; au moins jusqu'à la fermeture de l'onglet.

Autres conseils

Il semble n'y avoir aucune solution à ce stade.

Avez-vous envisagé d'affecter votre hachage à l'aide de window.location.hash = newHash au lieu de remplacer l'URL complète?

https://developer.mozilla.org/en/DOM/window.location

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top