← Tous les exemples

JavaScript Médias slack.com

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

  1. Copiez le code avec le bouton ci-dessus.
  2. Installez JustZix (2 minutes) et ouvrez l'extension sur la page cible.
  3. Ajoutez une nouvelle règle correspondant à cette page.
  4. 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.

Cet exemple fonctionne-t-il ?

Les snippets sont inutiles sans un endroit où les coller.

JustZix s'installe en 2 minutes et exécute votre code sur chaque page correspondante. Sans compte, sans paiement.

Télécharger gratuitement Voir les cas d'usage