这是我的情况: 我已经写了一个小的javascript代码来自动刷新从外部源每5秒进入我的服务器的图像,与我们为网络摄像头刷新图像的线路相同。这个js需要在使用Joomla制作的网站中使用。 问题 Javascript会导致broswers的FF和Chrome在某段时间后崩溃。我正在附上代码。请告诉我哪里出错了。
<body>
<center>
<h2>human cam</h2>
<img id="pic" src="images/CB1.jpeg" border="0" width="500" height="500" /></center>
<script language="javascript" type = "text/javascript">
function refresh()
{
document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
setInterval(function(){refresh()}, 5000 );
}
window.onload=function(){
refresh();
}
</script>
</body>
// P.S版主我已经将joomla和网络摄像头添加为标签,因为我已经从使用它进行网络摄像头刷新的人那里获取了代码,所以想要他们的输入;和Joomla因为我需要进一步整合这段代码谢谢
答案 0 :(得分:2)
在refresh()
的每次通话中,您创建一个新的计时器,调用refresh()
创建一个新的计时器,调用refresh()
创建一个新计时器...
将其更改为
function refresh()
document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
}
window.onload = function() {
setInterval(refresh, 5000);
}
答案 1 :(得分:1)
你在这里严重创建了递归
function refresh()
{
document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
setInterval(function(){refresh()}, 5000 );
}
你的刷新功能无休止地设置了更多的间隔
尝试这个
function refresh()
{
document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
}
window.onload=function(){
setInterval(function(){refresh()}, 5000 ); /// set interval onload just one time
}