0

这是我的情况:我编写了一个小的 javascript 代码,用于每 5 秒自动刷新从外部源进入我的服务器的图像,就像我们为网络摄像头刷新图像一样。这个 js 需要在使用 Joomla 制作的网站中使用. 问题JavaScript 会导致浏览器的 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>

//PS版主我已经添加了joomla和网络摄像头作为标签,因为我已经从使用它的人那里获取了用于网络摄像头刷新的代码,所以希望他们的输入;和 Joomla,因为我需要进一步集成此代码谢谢

4

2 回答 2

2

在您每次调用时,refresh()您都在创建一个新计时器,该计时器调用refresh()该计时器创建一个新计时器,该计时器调用refresh()该计时器创建一个新计时器......

将其更改为

function refresh()
    document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
}

window.onload = function() {
    setInterval(refresh, 5000);
}
于 2013-01-23T06:32:18.470 回答
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 
    }
于 2013-01-23T06:34:06.470 回答