暂停动画 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();
如何使用此示例
- 用上方按钮复制代码。
- 安装 JustZix(2 分钟),在目标页面打开扩展。
- 添加一条匹配该页面的新规则。
- 将代码粘贴到规则的 JavaScript 面板并保存 — 每次访问页面时都会运行。
为此示例评分
暂无评分 — 成为第一个。