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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ASM
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
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.
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.