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.