2009-06-22 8 views
3

J'ai donc mis en place un système de pagination similaire à Twitter où 20 résultats sont affichés et l'utilisateur peut cliquer sur un lien pour afficher la vingtaine ou tous les résultats suivants. Le nombre de résultats affichés peut être contrôlé par un paramètre à la fin de l'URL. Cependant, ceci n'est pas mis à jour avec AJAX. Si l'utilisateur clique sur l'un des résultats et choisit ensuite de revenir, il doit recommencer à 20 résultats. Une pensée que j'ai eue est si je mets à jour l'URL quand je tire les résultats avec AJAX il devrait-j'espère-permettre aux utilisateurs d'aller et venir sans perdre combien de résultats sont montrés. Est-ce réellement possible ou est-ce que j'ai complètement tort?Lors de l'utilisation du bouton précédent AJAX résultats ont été perdus

En outre, comment pourrais-je changer l'URL? J'ai un moyen de modifier l'URL avec javascript et que ce soit une variable, mais je ne suis pas sûr de savoir comment appliquer cette variable à l'URL.

Toute aide ici serait géniale! Une note de côté: J'utilise la fonction load() de jQuery pour faire tout mon AJAX.

+0

quelques questions connexes: http://stackoverflow.com/questions/946582/browser-back-button-and-dynamic-elements http://stackoverflow.com/questions/974186/managing-browser-history -in-ajax http://stackoverflow.com/questions/973845/saving-history-in-ajax http://stackoverflow.com/questions/680785/on-window-location-hash-change http: // stackoverflow. com/questions/940964/pu-a-page-afficher-diferrent-contenu-if-the-url-hash-change http://stackoverflow.com/questions/629765/enabling-back-fwd-key-events-for -an-ajax-application – Christoph

Répondre

1

Vous ne pouvez pas changer l'URL de la page depuis javascript sans recharger la page.

Vous pouvez envisager d'utiliser des cookies à la place. En définissant un cookie client, vous pouvez vous "souvenir" du nombre de résultats que l'utilisateur aime voir.

A good page on javascript cookies.

+0

De nos jours, il est possible de changer l'URL sans recharger, voir http://stackoverflow.com/questions/3338642 –

+0

True. Comme cette réponse n'est plus exacte, je ne suis pas sûr de ce que serait l'action SO correcte. Mettez-le à jour avec plus d'infos? – Joel

-3

3 premiers résultats google,:
first
second
third

Je vais manger mon short si aucun d'entre eux sont utiles. ^^

Et oui - vous ne pouvez pas changer d'URL via JS.

3

Non mentionné dans les discussions en double, mais néanmoins utile: Really Simple History (RSH).

+0

un de mes liens l'a mentionné :) –

+0

Oups! Je suppose que nous l'aurons ici pour la postérité. :-) – ajm

1

La réponse à cette question sera plus ou moins la même chose que mes réponses à ces questions:

En résumé, deux projets que vous aurez probablement veulent regarder qui expliquent l'ensemble du processus hashchange et en l'utilisant avec ajax sont:

    (
  • jQuery History (en utilisant des hachages pour gérer l'état de vos pages et vous lier aux modifications pour mettre à jour votre page).

  • jQuery Ajaxy (extension ajax pour jQuery History, pour permettre des sites web ajax complets tout en étant complètement discret et facilement dégradable).