2013-10-08 85 views
0

因此,我正在瞭解Canvas元素,並且我製作了簡單的基於Canvas的圖庫以使我開始。 我使用setInterval來更新我的圖像的src,而不是onLoad在畫布中繪製它。問題在於它可以在Chrome中運行,但不能在Safari或IE中運行。Javascript的setInterval沒有運行在Windows上的Safari瀏覽器,在Chrome中運行

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/

那麼,爲什麼在Safari中沒有的setInterval運行?

回答

0

所以

我發現它是捕獲的瀏覽器問題。瀏覽器catche對img.src的請求,它不起作用。如果如果追加時間戳請求它的工作原理:

_time = Date.now(); 
img.src = "http://lorempixel.com/g/400/400" + "?" + _time; 

小提琴:http://jsfiddle.net/T92TW/5

盧卡

相關問題