6
votes

Différences dans l'explorateur Internet et Firefox lors du chargement de manière dynamique du contenu, puis de l'avant et de l'arrière

Je développe une application Web où, en raison de l'accès à la base de données lente, tout le contenu d'une page n'est pas chargé immédiatement mais plutôt de manière dynamique lorsque l'utilisateur clique sur un bouton après éventuellement une sélection.

Cela fonctionne bien. Toutefois, après avoir chargé de manière dynamique du contenu, si je navigue sur une page Web différente, puis naviguez sur Internet Explorer, le contenu chargé aura disparu, c'est-à-dire que la page sera revenue à la page initiale. Dans Firefox (et Opera également), cependant, la teneur chargée sera toujours là, c'est-à-dire que la page ressemblera à ce qu'elle ait fait avant que je navérais loin de celui-ci.

Le comportement de Firefox est le comportement souhaité dans mon cas, car l'utilisateur navigue régulièrement à des sous-pages et revenir à la page principale. Ma question est donc là où je peux forcer Internet Explorer à présenter ce comportement ou y a-t-il des solutions de contournement possibles pour obtenir le résultat souhaité?


0 commentaires

3 Réponses :


2
votes

Je ne pense pas qu'il y ait une méthode pour que c'est-à-dire d'émuler FF de cette manière. La raison est de faire avec des aspects assez fondamentaux des navigateurs. FF utilise un mécanisme pour son antécédents de page intitulée «Fast Dom Caching» qui (de ma compréhension limitée) signifie fondamentalement que lorsqu'il met une page dans l'historique du navigateur, elle stockera le DOM actuel (donc l'état actuel de la page) dans une série Serialized. Format, ce qui signifie que lorsque la page est rechargée de l'historique, l'état est préservé et FF peut le faire beaucoup plus rapidement que beaucoup de travail est déjà fait (analyse du HTML dans un DOM, etc.). En comparaison, c.-à-d. Stocker simplement le HTML reçu initialement en tant que fichier d'historique et la rechargera lors de la navigation sur l'historique.


1 commentaires

Il semble que, en ce qui concerne l'IE, c'est presque le cas, mais pas tout à fait. À titre d'exemple, dans ma demande, j'utilise le filtrage et la pagination JavaScript (du contenu dans une table). J'utilise des zones d'entrée "Sélectionner" pour le filtrage. Dans les deux points et ff, les options sélectionnées sont mémorisées après la navigation et à nouveau. J'utilise des variables JavaScript pour l'état de la pagination. Ceci est rappelé des informations dans FF, mais réinitialiser dans IE.



2
votes

1 commentaires

Merci. Cet article semble décrire le comportement IE. En FF, JavaScript n'est pas réinitialisé lors de la navigation et de l'arrière. Mais les solutions de contournement pourraient être utiles dans IE, je pourrais essayer le second (en utilisant des champs de saisie cachés pour stocker des informations).



3
votes

Voici ma solution de contournement pour IE. Il utilise le fait que, même si le DOM est réinitialisé lors de la navigation sur une page, les valeurs de champ de saisie sont toujours mémorisées.

Pour chaque élément chargé de manière dynamique, j'ai également un champ d'entrée caché où je "cache" la valeur chargée. J'ai ensuite une fonction de transfert de fonction () qui copie les valeurs de chaque champ d'entrée caché à l'élément correspondant. Cette fonction est exécutée à la page init - qui, dans le cas de l'IE, est à la page de la page et chaque fois que l'on navigue sur la page.

Cette technique pourrait probablement être utilisée pour stocker également les valeurs des variables JavaScript.


0 commentaires