所以我开始了解 Canvas 元素,并制作了简单的基于 Canvas 的画廊来帮助我入门。我使用 setInterval 来更新我的 Image 的 src 而不是 onLoad 在画布中绘制它。问题是它在 Chrome 中有效,但在 Safari 或 IE 中无效。
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var img = new Image();
img.src = "http://lorempixel.com/g/400/400";
img.onload = function() {
console.log('new image time');
context.drawImage(img, 0, 0);
};
setInterval(function(){
img.src = "http://lorempixel.com/g/400/400";
}, 4000);`
我做了一个小提琴:http: //jsfiddle.net/lukaMis/T92TW/3/
那么为什么 setInterval 不在 Safari 中运行呢?