HTML 5 Canvas / requestAnimationFrame 在 Safari 7.0 中损坏

HTML 5 Canvas / requestAnimationFrame broken in Safari 7.0?

本文关键字:损坏 Safari Canvas requestAnimationFrame HTML      更新时间:2023-09-26

有人可以告诉我为什么这在 Safari 7.0 中突然不再起作用吗?这是 Safari 中的错误吗?

它在以前版本的 Safari 中运行良好,也可以在我测试过的所有其他浏览器中运行良好。

(function animloop(time){
    var delta = (time - currentTime) / 1000;
    currentFrame += (delta * fps);
    var frameNum = Math.floor(currentFrame);
    if (frameNum >= totalFrames) {
      currentFrame = frameNum = 0;
    }
    requestAnimationFrame(animloop);
    drawFrame(ctx, img, 104, 124, frameNum);
    currentTime = time;
})(currentTime);

JSFiddle here: http://jsfiddle.net/XjCYN/

代码取自这篇优秀的文章:http://awardwinningfjords.com/2012/03/08/image-sequences.html

谢谢! :)

安德烈亚斯

是的。我个人已经确认,您断言这在Safari 7/Mavericks中被破坏是正确的,但在Chrome和Mavericks Safari之前的功能中却有效。

Safari 7/Mavericks中有许多与HTML5画布和视频元素相关的错误,包括这一点。

我已经向Apple报告了一个有关视频标签问题的错误,并将此堆栈溢出问题作为"附加说明"引用。

我建议在 http://bugreport.apple.com 做同样的事情,也许我们可以说服苹果解决这些问题。

如果您想在您的系统中

引用我的错误报告,他们系统中的 ID 是15363385的 - 这是报告的副本:https://gist.github.com/keyvanfatehi/7259921