Préserver l'état de la page pour revoir l'aide de bouton précédent du navigateur
J'ai une page qui charge dynamiquement du contenu sur la base d'un utilisateur en appuyant sur un bouton:
${document).ready(function)
{
$("#myButton").click(function()
{
$("#dynamicDiv").load("www.example.com");
});
}
Le contenu dynamique fonctionne bien, je peux télécharger les pages tout au long de la journée. Mais après avoir suivi un lien vers une autre page, puis appuyez sur le bouton précédent du navigateur pour revenir à la page, la page est complètement à zéro comme si aucun contenu dynamique a déjà été chargé.
Je vous jure que j'ai vu le comportement différent d'avant, mais peut-être que je suis fou. Ne pas le navigateur de conserver l'état de la page, plutôt que de re-rendu?
EDIT:
En passant, je suis en utilisant le Jeu! cadre, si cela a une incidence sur de cette.
OriginalL'auteur Indigenuity | 2012-01-25
Vous devez vous connecter pour publier un commentaire.
Le navigateur charge la page tel qu'il a été reçu. Tout DOM modifications effectuées via le javascript ne sera pas conservé.
Si vous souhaitez conserver les modifications que vous aurez à faire un travail supplémentaire. Après avoir modifier le DOM, mettre à jour l'url de hachage avec un identifiant, que vous pourrez ensuite analyser et de recréer la modification. Chaque fois que la page est chargée, vous devez vérifier la présence d'une table de hachage et de faire le DOM modifications en fonction de l'identifiant.
Par exemple si vous êtes en affichage des informations de l'utilisateur de manière dynamique. Chaque fois que vous affichez un seul vous pouvez modifier l'url de hachage à quelque chose comme ceci: "#/utilisateur/john". Chaque fois que le chargement de la page, vous devez vérifier si le hachage existe (fenêtre.emplacement.hachage), de l'analyser, et de charger les informations de l'utilisateur.
Les Cookies sont une autre possibilité. Vous pouvez définir des cookies de session en JavaScript.
OriginalL'auteur epignosisx
La mise en œuvre de navigateur fonctionnalité est dur.
Il devient plus facile lorsque vous utilisez un plugin comme jquery.history.js.
http://tkyk.github.com/jquery-history-plugin/
OriginalL'auteur Mathias F
epignosisx et Malcolm sont tous les deux raison. Il est également connu comme "deep linking". Nous avons utilisé le JQuery Adresse Plugin pour traiter cela dans une récente application lecture.
http://www.asual.com/jquery/address/
OriginalL'auteur Scott A Miller
Une technique que j'utilise pour ce qui est de sérialiser l'état en JSON, de le stocker dans la chaîne de hash, et puis le lire lorsque la page est accédée. Cela a été testé dans IE10+, Firefox, Chrome.
Exemple:
OriginalL'auteur gb2d