2012-08-27 54 views

回答

1

简而言之,JavaScript没有简单的方法来控制动画GIF的当前帧。

长的答案是,有很多方法可以用JS来做你想做的事情,但它们是非常复杂的黑客。

hackish的例子:创建一个画布,不要将它添加到DOM(所以这不会被任何人看到)。在快速循环(setTimeout)中,不断绘制到此画布并收集快照。比较画布ImageData以查看帧是否已更改。

+0

这应该不起作用:'当CanvasImageSource对象表示HTMLOrSVGImageElement中的动画图像时,用户代理必须使用动画的默认图像(该格式定义的图像将在动画不受支持时使用,或者禁用),或者,如果没有这样的图像,则在为CanvasRenderingContext2D API渲染图像时,动画的第一帧[[html.spec](https://html.spec.whatwg.org/multipage/scripting.html #DOM上下文-2D-的drawImage#图像源换2D-渲染-上下文)。我的测试在FF中确认了这种行为 – SleepProgger