【问题标题】:javascript crashes browsersjavascript 让浏览器崩溃
【发布时间】:2013-01-06 13:51:33
【问题描述】:

这是我的情况: 我编写了一个小的 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,因为我需要进一步集成此代码谢谢

【问题讨论】:

  • 无需连接“images/CB1.jpeg”和“?”。只需使用"images/CB1.jpeg?" + new Date().getTime();
  • @Ian 谢谢你的回复。我会确保我做出适当的改变:)

标签: javascript joomla2.5 webcam setinterval


【解决方案1】:

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

改成

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

window.onload = function() {
    setInterval(refresh, 5000);
}

【讨论】:

  • 感谢您的回复。我没有意识到这个错误,因为我是新手。谢谢你纠正我!
【解决方案2】:

你在这里糟糕地创建了递归

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 
    }

【讨论】:

  • 嗨@Rupesh 非常感谢你的帮助。该解决方案现在运行良好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多