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"));
Le contenu de cette page est disponible selon certaines conditions de réutilisation. Lire aussi la page des 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.