Il arrive, dans le cas d'une Webcam mise
à jour fréquemment par exemple, que se présente
le besoin de recharger le même fichier plusieurs fois de suite,
en évitant d'utiliser celui qui se trouve déjà
dans le cache du navigateur. Si cela reste possible en faisant appel
à la balise META en mode REFRESH,
cela pénalise fortement l'utilisation du site pour le visiteur,
notamment s'il est en train de remplir un formulaire. Voici donc une
petite fonction qui ne recharge qu'une image spécifique. Elle
est facilement modifiable pour prendre en compte d'autres images,
ou une série d'images...
Le problème du cache est réglé en ajoutant une valeur variable
(ici, un timestamp) après le nom du fichier, ce qui fait croire
au navigateur qu'il s'agit d'un nouveau.
Le code
nbrSecondes
= 10;
setTimeout('recharge()',nbrSecondes*1000);
function recharge()
{
var
now = new Date();
if
(document.images)
{
document.images.nomDeLImage.src
= '/img/image.gif?' + now.getTime();
}
setTimeout('recharge()',nbrSecondes*1000);
}
La balise de l'image
doit contenir l'attribut name="nomDeLImage"
pour que cela fonctionne.
|