[???] MAJ page sous IE

Will11
Invité n'ayant pas de compte PHPfrance

31 oct. 2007, 17:03

Bonjour,
Je suis actuellement en train de développer une application avec php/mysql
j'utilise le javascript et l'ajax pour modifier dynamiquement ma page, mais voici mon problème :
sous firefox(utile pour débugger), la mise à jour de la page s'effectue bien apres validation, mais sous IE rien à faire, même F5 ne suffit pas, je doi fermer la fenetre puis la réouvrir (comme de nombreuses personnes ayant eu le pbl, mais leurs solutions ne m'ont pas aidé).
Donc j'ai trouvé de nombreux forums traitant du sujet, j'ai tout testé, les <meta no cache, expire... /> comme les headers(pragma et cache-control) avec no cache, expire=-1, une vieille date...
j'ai aussi testé en javascript d'ouvrir la mm page avec un argument différent ex: page.php?time=... mais rien y fait.
Je suis pret à tout retester, balancez moi ce qui fonctionne chez vous,j'y comprend rien...
merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 oct. 2007, 17:10

Pas d'erreur js sous ie ? (triangle jaune en bas à gauche)

Es-tu sur que le problème vient du cache ?
essaye de forcer l'actualisation en maintenant ctrl+shift et en cliquant sur le bouton actualiser (un seul des deux doit suffir, mais je sais jamais lequel ;))

Comment actualises tu la page ? mise à jour avec innerHTML ? refresh en js ? (y a un paramètre avec cette fonction pour forcer ou non le cache) ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Will11
Invité n'ayant pas de compte PHPfrance

31 oct. 2007, 17:27

--> pas d'erreur JS sous IE non
--> quasi sûr que ca vient du cache, je ne vois pas d'autres possibilité vu ce que je raconte au dessus (fonctionne sous firefox & au relancement de IE ca fonctionne)
--> quand je force (c'est ctrl + F5 ^^) ca m'affiche justement ce pbl :
"la page ne peut etre actualisée sans le renvoit d'informations"
et j'ai tout test pour MAJ de la page, je fais un submit de mon form en appelant la meme page, ou j'avais test aussi avant en JS document.location, et aussi le refresh....

Will11
Invité n'ayant pas de compte PHPfrance

31 oct. 2007, 17:35

j'ai modifié mon affichage de la page, je pense que le submit sur la meme page, il aime pas trop
Donc j'ai fait un location.href = "mapage.php", plus d'erreur qd je force, mais pas de modification de la page pour autant(sauf quand je la ferme)
(merci pour ton intervention)

Will11
Invité n'ayant pas de compte PHPfrance

02 nov. 2007, 11:24

personne n'aurait une idée ?
ps : je développe dans une société qui utilise un proxy, cela change t-il quelque chose pour le cache ? :cry:

Will11
Invité n'ayant pas de compte PHPfrance

05 nov. 2007, 10:58

Ok donc j'ai trouvé l'origine de mon problème, je post la solution, ca pourrait aider...

En fait je n'avais pas pensé à mettre les headers pour interdire le cache dans le fichier PHP correspondant au retour du serveur lors d'une requete utilisant l'objet XMLHttpRequest() (AJAX)
J'avais juste mis les headers au niveau des fichiers php propres à l'affichage... :?
Faut croire que Firefox gere automatiquement ce type de cache...(si quelqu'un a des infos..)

Voici les headers que j'utilise, ca peut aussi servir (à mettre dans TOUS les fichiers PHP :lol: ) :
<?php
	header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
	header('Cache-Control: no-cache, must-revalidate');
	header('Pragma: no-cache');
?>
a bientot

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

05 nov. 2007, 13:38

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.