2013-08-16 27 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

相关问题