2010-01-23 4 views

Répondre

5

Vous pouvez utiliser la bibliothèque really simple history

Mais si vous voulez gérer vous-même, vous pouvez utiliser la clé de hachage (window.location.hash) en définissant par exemple le numéro de la diapositive là. Lorsque l'utilisateur cliquera sur ou suivant la clé de hachage changera, vous le détecter et effectuer la modification.

Malheureusement, vous devez vérifier le changement vous-même, en définissant un intervalle (par exemple: 300ms) et vérifiez avec la valeur précédente. HTML5 a un événement onhashchange.

2

Un utilisateur peut accéder à une page précédente sans cliquer sur le bouton Précédent dans le navigateur. Il peut faire un clic droit et, dans le menu contextuel, il peut choisir l'option Précédent ou Suivant. Il peut également appuyer sur le clavier pour naviguer vers une autre page. Ce ne sera donc pas une bonne idée d'attraper le bouton Retour.

1

L'un de nos principes de conception de guidage est ceci:

JAMAIS, JAMAIS, JAMAIS BRISER LE BOUTON BACK.

Ceci signifie ne pas interférer avec son fonctionnement, ce qui signifie le laisser seul.

Si vous DEVEZ savoir quel bouton l'utilisateur a appuyé, vous n'avez pas vraiment de chance, et c'est par conception. Les gars qui écrivent les navigateurs ne veulent pas que vous fassiez cela. Je ne veux pas que vous interférer avec la fonctionnalité du bouton de retour. Les utilisateurs ne le veulent pas. Donc, NE PAS.

/rant.

+0

Je n'ai pas l'intention de casser le bouton de retour, jamais. J'en ai juste besoin pour la transition de page. –

+2

Que diriez-vous de FIXER le bouton de retour? Par exemple, dans une page ajax où le bouton de retour vous amène à une page précédente, mais pas à la page précédente (parce qu'elle a été modifiée avec ajax)? – Dan

+0

Assez juste. En règle générale, je n'utilise pas AJAX pour ce type de transition. * À mon avis *, si l'interface utilisateur a vraiment besoin de montrer une page différente, alors ils devraient être redirigés vers une autre page. AJAX devrait être utilisé pour présenter une interface utilisateur interactive, mais pas pour redéfinir le comportement attendu du navigateur. –

2

Vous pouvez utiliser l'objet d'historique. Il possède le tableau des pages visitées. L'entrée la plus récente est la dernière page du bouton avant ou arrière.

2

@ David

Depuis navigateur boutons de retour ne suivent pas les demandes ajax, les développeurs ont pas d'autre choix que de suppliment ce manque de fonctionnalité. En utilisant jquery, nous devons suivre manuellement les requêtes ajax et demander de nouveau manuellement les pages partielles afin de donner aux utilisateurs ce qu'ils VOULENT et ATTENDENT.

Questions connexes