Bonjour à tous,
J'ai un soucis de mise en cache dans un portlet sous liferay.
En fait je crée un portlet qui initialise un <select> avec une liste d'option qui dépend de la page dans laquelle l'utilisateur entre.
Sous IE (6, 7 et 8) il y a un soucis de cache.
Le système se présente de la façon suivante: deux pages d'entrée, et le même portlet sur chaque page.
Lorsqu'on commence par rentrer par la première page, on se retrouve avec les données de cette page dans la seconde. Lorsqu'on entre en premier par la seconde page, on se retrouve dans la première page avec les données de la seconde...
En gros c'est comme si les deux pages se partagent les mêmes div mises en cache... et qu'une fois la mise en cache faite, ce sont les données en cache qui sont réutilisées. Et non la fonction ajax qui doit les mettre à jour.
Vu qu'il s'agit du même portlet, les div ont le même nom, donc forcément ça pose un soucis...
Pour récupérer à chaque changement de page les bonnes données, il est nécessaire de vider le cache de IE avant. (donc je parcours la page 1, je vide le cache puis je vais sur la page 2... ce qui pose un sérieux problème)
Or ce problème ne se présente pas avec firefox ou d'autres navigateurs.
Comment est-il possible d'empêcher ce comportement?
A part renommer les div en utilisant un attribut supplémentaire qui est la page d'entrée de l'utilisateur, comment puis-je régler ce soucis lié à Internet Explorer?
Compte tenu du fait que 90% des gens qui viendront sur le portail auront Internet Explorer, et que plus de 50% d'entre eux auront IE6... il ne m'est pas possible de négliger IE.
petit add-on: il semblerait que le soucis soit du côté d'un appel Ajax, celui qui permet de charger le <select>. Il se fait lorsqu'on rentre pour la première fois dans une page, mais ne se fait pas lorsqu'on rentre dans l'autre page.
Avez vous déjà eu ce cas? Si oui comment avez vous fait pour vous en sortir?
Merci à tous d'avance pour m'avoir lu jusqu'au bout et pour votre aide.
N'hésitez pas à me poser des questions si vous voulez plus d'informations.
Cordialement
Gojira
Partager