une instruction javascript qui buggue

Le
Patrice
Bonjour,

j'ai remarqué depuis des années, que l'instruction javascript
window.location=<page web> a un défaut: celui de télécharger
préférentiellement la page dans le cache si elle y est déjà. Cela peut être
ennuyeux si la page est dynamique (mon langage de prédilection est le perl ,
mais plus couramment on utilise le php).

J'utilise un "vieux" IE6 sous Win2k; j'aimerais savoir si ce "bug" existe
aussi dans les versions plus récentes d'IE, et sur d'autres navigateurs.
Enfin, pardonnez toutes ces questions, existe-t-il un moyen de le forcer à
télécharger la page depuis le serveur?

Merci d'avance de vos réponses éclairées,

Bien à vous tous,

P.C.

--
www.mircscripts.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ASM
Le #11084531
Patrice a écrit :
Bonjour,

j'ai remarqué depuis des années, que l'instruction javascript
window.location=<page web> a un défaut: celui de télécharger
préférentiellement la page dans le cache si elle y est déjà.



Ha ?

et location.href aussi ?

Cela peut être
ennuyeux si la page est dynamique (mon langage de prédilection est le perl ,
mais plus couramment on utilise le php).

J'utilise un "vieux" IE6 sous Win2k; j'aimerais savoir si ce "bug" existe
aussi dans les versions plus récentes d'IE, et sur d'autres navigateurs.



ce n'est sans doute pas un "bug" sinon à quoi servirait le cache ?
Normalement le navigateur vérifie que le fichier sur serveur n'a pas
changé avant de choisir celui du cache. (et comme ton perl n'a sans
doute pas changé ... hop !)

Enfin, pardonnez toutes ces questions, existe-t-il un moyen de le forcer à
télécharger la page depuis le serveur?



pour "forcer" le chargement il suffit que l'adresse soit variable
(jamais envoyer la même)

par exemple :
location = 'page.php';
devient :
location = 'page.php#'+Math.random();
ou :
location = 'page.php?init='+Math.random();

comme il y a très peu de chance d'avoir une ancre nommée '0.1234789654'
ou que le php n'aura en fait pas à s'occuper de la variable 'init'
l'astuce ne pose pas de problème.


--
Stephane Moriaux et son (moins) vieux Mac
Publicité
Poster une réponse
Anonyme