2008-10-30 9 views
1

Donc je crée du HTML en utilisant javascript en fonction de l'endroit où l'utilisateur clique sur la page. Lors du chargement de la page, le script remplace un div vide avec un ul et quelques données. L'utilisateur clique sur ces données pour en recevoir plus et ainsi de suite. Maintenant, lorsque l'utilisateur navigue hors de la page, puis appuie sur le bouton retour pour revenir à la page, IE affiche une page vierge avec les divs remplacés, dans tous les autres navigateurs, FF, Opera, Safari, la page soit recharges à l'ul ou retourne au dernier état avec les données dynamiques qui s'y trouvent.Weird IE & Javascript problème

Quelqu'un at-il une idée de ce qui pourrait se passer ici? Toute aide est appréciée.

+0

Utilisez-vous document.write()? Je pense que nous pourrions avoir besoin d'une maquette pour être vraiment en mesure de choisir le problème. –

Répondre

1

Il semble que vous ayez besoin de gérer l'historique et l'état de votre page. Vérifiez notre Really Simple History de Brad Neuberg.

1

Le comportement des événements de chargement lors de la navigation en arrière et en avant n'est pas un navigateur croisé standard. En règle générale, j'ai constaté que lorsque vous cliquez sur retour, les événements onload ne fonctionnent généralement pas car le navigateur le charge à partir du cache plutôt que de demander de nouveau la page. Ce que vous pouvez essayer est d'utiliser l'événement dom ready plutôt que le chargement de la fenêtre.

1

La réponse de Trull est dans le bon sens. Opera et plus tard Firefox (> 1.5) ne considèrent pas charger une page du cache comme nécessitant de déclencher un événement onload car l'état DOM complet est également mis en cache.

Il est trivial de standardiser les navigateurs, car Opera et Firefox ne présentent pas ce comportement si vous définissez un événement window.onunload. Voir http://developer.mozilla.org/en/Using_Firefox_1.5_caching

+0

ne le savais pas, c'est vraiment utile! –