← 全部示例

JavaScript 媒体

暂停动画 GIF

通过将动画 GIF 的第一帧渲染为静态图片来冻结它们,减少干扰。

可复制的代码

// Freeze animated GIFs by drawing their first frame onto a static canvas.
function freezeGifs() {
  document.querySelectorAll('img[src$=".gif" i]').forEach(function (img) {
    if (img.dataset.jzFrozen) return;
    if (!img.complete || !img.naturalWidth) {
      img.addEventListener('load', freezeGifs, { once: true });
      return;
    }
    try {
      var c = document.createElement('canvas');
      c.width = img.naturalWidth;
      c.height = img.naturalHeight;
      c.getContext('2d').drawImage(img, 0, 0);
      img.src = c.toDataURL('image/png');
      img.dataset.jzFrozen = '1';
    } catch (e) {}
  });
}
freezeGifs();

如何使用此示例

  1. 用上方按钮复制代码。
  2. 安装 JustZix(2 分钟),在目标页面打开扩展。
  3. 添加一条匹配该页面的新规则。
  4. 将代码粘贴到规则的 JavaScript 面板并保存 — 每次访问页面时都会运行。

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

没有可粘贴的地方,代码片段毫无用处。

JustZix 安装只需 2 分钟,并在每个匹配的页面上运行你的代码。无需账户、无需付费。

免费下载 查看应用场景