Exemple de comment dire à une page html qu'une image a été modifiée:
Table des matières
Afficher une image en HTML
Pour afficher une image dans une simple page html on peut faire comme ceci (on a ici utilisé l'image: matplotlib-grid-02.png)
<!DOCTYPE html>
<html>
<body>
<img src='matplotlib-grid-02.png'>
</body>
</html>
qui donne:
Cependant si on utilise une autre image (matplotlib-grid-04.png par exemple) que l'on renomme matplotlib-grid-02.png comme la première image et qu'on remplace celle-ci, les modifications ne seront pas prises en compte, même en rechargeant la page.
La raison est que votre navigateur internet ('browser') garde en mémoire l'image pour pouvoir ensuite télécharger la page plus rapidement.
Vider le cache
Pour voir la nouvelle image, du coté visiteur on peut simplement vider le cache. Par exemple avec chrome il suffit d'aller dans le menu View -> Developer -> Developer Tools; cliquer sur le bouton "Disable cache" er recharger la page:
Ajouter un timestamp
Du coté développeur on peut simplement ajouter un "timestamp" sur l'image pour indiquer au browser quand l'image a été modifiée et qu'il doit prendre en compte cette nouvelle image:
?lastmod=timestamp
changer timestamp par la date à laquelle l'image a été modifiée (voir par exemple timestampgenerator.com/)
<!DOCTYPE html>
<html>
<body>
<img src='matplotlib-grid-02.png?lastmod=1560360993'>
</body>
</html>
Références
Liens | Site |
---|---|
Force browser to clear cache | stackoverflow |
how to clear or replace a cached image | stackoverflow |
Python timestamp to datetime and vice-versa | programiz.com |
'module' object has no attribute 'now' will trying to create a CSV | stackoverflow |