Slack : mettre en pause les GIF animés
Fige les GIF animés sur leur première image pour que la conversation ne scintille plus.
Code à copier
// Pause animated GIFs by freezing them onto a static canvas after they load
function freezeGifs() {
document.querySelectorAll('img[src*=".gif"]:not([data-jz-frozen])').forEach(function (img) {
img.setAttribute('data-jz-frozen', '1');
if (!img.naturalWidth) { return; }
const c = document.createElement('canvas');
c.width = img.naturalWidth;
c.height = img.naturalHeight;
try {
c.getContext('2d').drawImage(img, 0, 0);
img.src = c.toDataURL();
} catch (e) { /* cross-origin image, leave as is */ }
});
}
freezeGifs();
const gifObs = new MutationObserver(freezeGifs);
gifObs.observe(document.documentElement, { childList: true, subtree: true });
Comment utiliser cet exemple
- Copiez le code avec le bouton ci-dessus.
- Installez JustZix (2 minutes) et ouvrez l'extension sur la page cible.
- Ajoutez une nouvelle règle correspondant à cette page.
- Collez le code dans le panneau JavaScript de la règle et enregistrez — il s'exécute à chaque visite de page.
Notez cet exemple
Aucune note — soyez le premier.