使用javascript延迟重新加载图像

时间:2015-03-13 08:51:00

标签: image webcam reload onload

尝试使用Java脚本重新加载图像时,我失败了2天。 希望你能帮忙! 在定义的7个secunds之后显示图像但没有改变...

它不是服务器端问题,而我可以在wireshark中看到数据甚至没有被浏览器请求... 有谁知道我的问题可能在哪里? 请参阅下面的代码以供参考

<html> 
<!DOCTYPE html>
<html lang="de-DE">
<head>
<bodyonload="DispayImage()">
<img src="/img/dynamic_live_1.jpg" width="600" height="450" name=Cam> 
<script language="JavaScript> 
var imageUrl = document.Cam.src; 
var random = new Date().getTime(); 
var delay = 7000;  
var counter = 0; 
var buffer = new Image; 

function DisplayImage() 
{ 
    document.Cam.src = buffer.src;
    LoadNextImage(); 
} 

function LoadBuffer () 
{ 
    var trickname = imageUrl; 
    ++counter; 
    trickname += "?counter=" + (random + counter); 
    buffer.src = trickname; 
    buffer.onload = DisplayImage; 
} 

function LoadNextImage() 
{ 
    setTimeout("LoadBuffer()", delay); 
} 
LoadNextImage(); 
</script> 
</body>
</html>      

1 个答案:

答案 0 :(得分:0)

乍一看,你的“setTimeout”调用似乎是错误的:

尝试

function LoadNextImage()
{
    setTimeout(function() {LoadBuffer()}, delay);
}

另外,你的body.onload有一个错误的调用,它显示“DispayImage”而不是“DisplayImage”,但这可能是你的复制粘贴错误。

编辑:我自己测试了更正后的代码,并且在这里工作(使用了一些本地图像)。我发现的最后一个错误是你没有关闭“语言”-tag:

<script language="JavaScript>

应该是

<script language="Javascript">

或者,更好的是,不需要“语言”标签,所有浏览器在使用“脚本”时都默认使用javascript:

<script>/*Some code here*/</script>