所以我开始了解Canvas元素,我制作了简单的基于画布的画廊,让我开始。 我使用setInterval来更新我的Image的src,而不是onLoad来在canvas中绘制它。问题是它适用于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中运行?
答案 0 :(得分:1)
所以
我发现它抓住了浏览器问题。 img.src的浏览器catche请求并没有用。如果附加时间戳请求它起作用:
_time = Date.now();
img.src = "http://lorempixel.com/g/400/400" + "?" + _time;
小提琴:http://jsfiddle.net/T92TW/5
卢卡