2009-12-21 6 views
1

J'ai un site web qui montre les résultats de recherche avec ajax. mais bien sûr, quand je clique sur un fil dans les résultats, puis revenir avec le bouton de retour du navigateur Web, les résultats sont partis.revenir au dernier état des pages ajax?

est-il un moyen de revenir à la même page de résultats affichée par ajax? Parce que je veux vraiment utiliser ajax pour certaines tâches, mais ce ne serait pas bien si l'utilisateur devait faire la même recherche chaque fois qu'il revenait à la page de résultats à partir des threads.

Répondre

1

essayer ReallySimpleHistory

Really Simple histoire est une bibliothèque JavaScript léger pour la gestion de l'histoire de bookmarking et le navigateur dans les applications Ajax/DHTML. RSH sérialise les données d'application dans un cache JavaScript interne afin que les signets et le bouton de retour puissent être utilisés pour ramener votre application à un état antérieur.

+0

si vous utilisez ReallySimpleHistory ou Google Ajax Webkit? – ajsie

2

Vous pouvez trouver des informations utiles dans ce SO message:
AJAX and the Browser Back Button

PS: Consultez les autres réponses et non pas seulement l'un accepté, assez perspicace.

1

Vous pouvez stocker une variable de session sur le serveur qui est mise à jour pour refléter les actions de l'utilisateur prises via l'interface Ajax. Soit cela ou utiliser un cookie pour la gestion de l'état.

+0

que les systèmes à base de session se comportent mal si la l'utilisateur ouvre plusieurs onglets/fenêtres avec la même information de session –

+0

Prenez-en soin sur le serveur – Pierreten

-1

simplement enregistrer les données html interne div en température textarea click sur buton arrière que retourner la valeur textarea à div innerHTML

tout simple

function get_back_data() 
{ 
    document.getEleme ntById('all_back_data').value=document.getEleme ntById('mid_mid_div').inner HTML; 

} 
function goo_back_page() 
{ 
    document.getElementBy Id('mid_mid_div').in nerH TML=document.getElem entById('all_back_data').v alue; 
} 
Questions connexes