Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Refreshimage

Pour rafraichir une image, il suffit généralement de créer un script qui modifie l'attribut "src" : cela convient lorsque l'url est différente, mais dans le cas où l'on désire conserver le même url, cela ne suffit pas et il est nécessaire d'utiliser directement le service qui gère le mécanisme de cache des images :

  function refreshImage( anImageElement )
  {
    var ios = Components.classes["@mozilla.org/network/io-service;1"]
              .getService(Components.interfaces.nsIIOService);
    var src = anImageElement.src;
    var uri = ios.newURI( src,null,null);
    if (uri)
    {
      var imgCacheService = Components.classes["@mozilla.org/image/cache;1"].getService();
      var imgCache = imgCacheService.QueryInterface(Components.interfaces.imgICache);
      // Retourne un erreur si l'image n'est pas dans le cache
      try {
        // Enlève l'entrée correspondant à notre image dans le cache
        imgCache.removeEntry(uri);
      } catch(e) {}
    }
    // Notifie le rafraichissement de l'élement
    anImageElement.src = "";
    anImageElement.src = src;
  }

Soit le code XUL suivant:

  <image src="http://www.monserveur.org/monimage.png" id="monimage"/>

Le rafraichissment de l'image est obtenu par:

  refreshImage(document.getElementById("monimage"));

Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.