我正在尝试从CCTV服务器为我们网络上的每台摄像机加载最新图像。
我有以下代码,它可以正常工作并不断刷新图像。但是,在页面的最终版本上,页面上将有大约10个相机图像。我想知道我现在的代码是否可以更改以刷新所有图像 - 而不仅仅是特定的图像。
起初我以为我可以为每个图像使用相同的标识符,但后来我意识到每个图像的来源不同。
<html>
<head>
<title>CCTV Test</title>
<script type="text/javascript" language="JavaScript">
newImage = new Image();
function LoadNewImage()
{
var unique = new Date();
document.images.ward.src = newImage.src;
newImage.src = "http://192.168.1.64/image/WARD?time=" + unique.getTime();
}
function InitialImage()
{
var unique = new Date();
newImage.onload = LoadNewImage;
newImage.src = "http://192.168.1.64/image/WARD?time=" + unique.getTime();
document.images.ward.onload="";
}
</script>
</head>
<body>
<img src="http://192.168.1.64/image/WARD" name="ward" onload="InitialImage()">
</body>
</html>
任何指针都将不胜感激!
答案 0 :(得分:4)
有些事情如下:
<!DOCTYPE html>
<html>
<head>
<title>CCTV Test</title>
</head>
<body>
<img src="http://192.168.1.64/image/WARD?time=...">
<img src="http://192.168.1.64/image/WARD?time=...">
etc.
<script>
setInterval(function() {
var images = document.images;
for (var i=0; i<images.length; i++) {
images[i].src = images[i].src.replace(/\btime=[^&]*/, 'time=' + new Date().getTime());
}
}, 10000); // 10000 milliseconds = 10 seconds
</script>
</body>
</html>
这将每10秒刷新一次所有图像。
另一种方法是将图像的位置存储在数组中。