TUTORIELS 
Recharger une image sans recharger la page
Une utilisation intelligente du DOM permet de gérer les éléments de la page sans interférer sur les autres.  (16 octobre 2003)
 
Discutez en sur les forums
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.

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page