2013-08-16 26 views
1

我需要每5秒刷新一次圖像。沒有閃爍。所以搜索谷歌並找到一些解決方案。 但該代碼刷新圖像,沒有閃爍,但它停止刷新圖像一段時間後。 一段時間後,1分鐘後停止刷新圖像,15分鐘後某段時間後3分鐘後的某段時間。自動刷新JavaScript功能在一段時間後停止工作

這裏是我的代碼

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title></title> 

<script language="JavaScript"> 
var x = 0, 
    y = 0; 
var canvas, context, img; 

function timedRefresh() { 
    canvas = document.getElementById("x"); 
    context = canvas.getContext("2d"); 
    img = new Image(); 
    img.src = "CC4.png?" + Math.random(); 
    img.onload = function() { 
     context.drawImage(img, x, y); 
     x += 0; 
     y += 0; 
     setTimeout('timedRefresh()', 5000); 
    }; 
} 
window.onload = timedRefresh; 

</script> 
</head> 

<body id="home" onload="setTimeout('timedRefresh()',5000)"> 
<canvas id="x" width="800" height="590"/> 
</body> 
</html> 
+0

'img.src =負載 「CC4.png?」 + Math.random();' 在這行代碼中是否正確? –

+1

@harsha這只是正常停止緩存,除非它在這段代碼中扮演一個特定的角色。 –

+1

@harsha你這樣做是爲了防止瀏覽器緩存。 –

回答

3

我想這是一個網絡的問題,所以它停止時,它無法加載圖像。嘗試添加

img.onerror = function(){ setTimeout('timedRefresh()', 1000); } 

所以它重試,即使存在這樣的問題

+0

之後我需要把這個代碼 – user2689637

+0

img後定義的任何地方(例如之前img.onload) – lePunk

+0

不工作,我嘗試添加onerror函數,但不是也停止一段時間後.. – user2689637

相關問題