OVH Cloud OVH Cloud

meta cache-control

6 réponses
Avatar
Bul
Bonjour à tous,
Je pensais que <meta http-equiv="cache-control"
content="no-cache"> permettait de ne pas
utiliser le cache, je dois faire une grossière
erreur quelque part, car dans le script suivant :

<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="cache-control"
content="no-cache">
</HEAD>
<BODY>
<iframe name="ifrm"
id="ifrm"></iframe>

<script type="text/javascript">

function affiche()
{
var t;
try { t=ifrm.document.body.innerHTML; }
catch(e) { t=false; }
if ( !t )
{ setTimeout("affiche();",100); }
else { var d=new Date();

window.status=d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+"="+t;
setTimeout("affiche();",5000); }
}

ifrm.document.location = "t2.htm";
affiche();
</script>
</BODY>
</HTML>

J'ai beau modifier t2.htm tant que je veux, c'est
toujours le 1er contenu qui est affiché.
Pouvez-vous m'aider ? merci d'avance. @+

6 réponses

Avatar
O.L.
Bul avait prétendu :
Bonjour à tous,
Je pensais que <meta http-equiv="cache-control"
content="no-cache"> permettait de ne pas
utiliser le cache, je dois faire une grossière
erreur quelque part, car dans le script suivant :

<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="cache-control"
content="no-cache">
</HEAD>
<BODY>
<iframe name="ifrm"
id="ifrm"></iframe>

<script type="text/javascript">

function affiche()
{
var t;
try { t=ifrm.document.body.innerHTML; }
catch(e) { túlse; }
if ( !t )
{ setTimeout("affiche();",100); }
else { var d=new Date();

window.status=d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+"="+t;
setTimeout("affiche();",5000); }
}

ifrm.document.location = "t2.htm";
affiche();
</script>
</BODY>
</HTML>

J'ai beau modifier t2.htm tant que je veux, c'est
toujours le 1er contenu qui est affiché.
Pouvez-vous m'aider ? merci d'avance. @+


Je vois :
ifrm.document.location = "t2.htm";

J'en déduit :
C'est t2.htm qui doit se recharger, donc c'est surtout elle qui ne doit
pas être mise en cache.
Rajoute un <meta http-equiv="cache-control" content="no-cache"> dans
t2.htm, et voit ce que ça donne. Et prend bien soin de forcer IE à
recharger cette page une première fois, pour qu'il voie bien qu'il ne
doit pas la mettre en cache.

Et attention, AMHA il faut que tu utilises un serveur, en local
(file:///...) ça doit pas aller.

@+
Olivier

Avatar
Bul
merci de t'intéresser à mon problème,
Rajoute un <meta http-equiv="cache-control"
content="no-cache"> dans t2.htm,
je vais essayer, je dirais quoi.


prend bien soin de forcer IE à
recharger cette page une première fois
comment ?


Dans mon exemple, j'ai donné une seule page
[t2.htm], mais il en existe de nombreuses.
==> encore une question à la con :
Peut-on ajouter ce <meta> dans l'iframe
avant d'y mettre une page htm ( qui
elle ne contient pas ce <meta> ) ? je
ne sais pas si je suis très clair. @+


Avatar
Bul
je viens de faire l'essai, ==> pas concluant (?)
enfin je crois....
°essai en local avec EasyPHP,
_en ayant supprimé l'historique et les fichiers
Internet temporaires.
_et en ayant mis "vérifier s'il existe une version
plus récente des pages enregistrées" à
"à chaque visite de la page".
auriez-vous d'autres pistes ?
Avatar
O.L.
je viens de faire l'essai, ==> pas concluant (?)
enfin je crois....
°essai en local avec EasyPHP,
_en ayant supprimé l'historique et les fichiers
Internet temporaires.
_et en ayant mis "vérifier s'il existe une version
plus récente des pages enregistrées" à
"à chaque visite de la page".
auriez-vous d'autres pistes ?


Ca aurait du marcher ...

Tu aurais une version web de tout cela, qu'on puisse aller voir ?

Avatar
Bul
merci de m'avoir aidé,
comme je le pensais c'était une énorme boulette :
je ne changeais pas le .location, ça ne pouvait
pas marcher ! maintenant ça va mieux, même
en local.

<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="cache-control"
content="no-cache">
<meta http-equiv="expires"
content="0">
</HEAD>
<BODY>
<iframe name="ifrm"
id="ifrm"></iframe>
<script>
function metpage()
{
ifrm.document.location = "t2.htm";
affiche();
}
function affiche()
{
var t;
try { t=ifrm.document.body.innerHTML; }
catch(e) { túlse; }
if ( !t )
{ setTimeout("affiche();",100); }
else { var d=new Date();
window.status= d.getHours()+":"+
d.getMinutes()+":"+
d.getSeconds()+"="+
t;
setTimeout("metpage();",4000); }
}

metpage();
</script>
</BODY>
</HTML>

ce que l'on peut faire comme c?$*µ#"~ parfois
en tout cas, merci. @+
Avatar
O.L.
ce que l'on peut faire comme c?$*µ#"~ parfois


Ah bah c'est normal :) On fait tous des c?$*µ#"~ un jour ou l'autre (le
plus tôt est le mieux, d'ailleurs). :)

en tout cas, merci. @+


De rien ...