javascript - 长时间运行的 JavaScript Web

标签 javascript html setinterval

我正在制作一个包含 html5 和 JavaScript 的网站, 该网站需要很少的用户交互(仅在开始时), 之后网页将显示各种信息(文本、时间、图片等)

在网站中,我总是以指定的时间间隔(3秒甚至20秒)使用计时器(setInterval),前2个小时,它运行良好,之后,有时它会导致浏览器崩溃或挂起,现在我想知道如果使用 setInterval 是个好主意

如果我想更改间隔,然后再次激活它,我总是清除间隔(使用clearInterval)。我需要网络运行几天甚至几周,有时如果不挂起,会导致浏览器(而不是整个PC)运行非常慢,

那么从长远来看,使用 setInterval 和clearInterval 实际上是一个好主意吗? 或者我应该改用 setTimeout (或者它们会相同)?

如果原因是内存泄漏,这可能是原因吗?

var element=document.getElementById("image1"); //it is DIV element
var image=new Image(); 
image.src=url;  // url is a path to a specific image(blob or external source)
image.onload=function(){
//basically
element.style.backgroundImage = "url(" + url + ")";
element.style.width=image.width.toString()+"px"; //set the original size
element.style.height=image.height.toString()+"px";
 //by the end of this function I don't clear the variable image like image=null
};

最佳答案

我找到了! 显然这不是因为图像和 DOM 创建,因为我总是在关闭后正确处理它们, 这是因为在对某些 DOM 元素进行一些更改后,我总是使用 jquery 将事件处理程序附加到对象 ($(element).bind(eventhandler,theHandler);)

我认为当我用绑定(bind)附加事件时,它将替换处理程序,但显然它会堆叠与新事件附加的所有处理程序。所以现在,我只执行一次,或者在必要时解绑旧的

关于javascript - 长时间运行的 JavaScript Web,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060764/

相关文章:

javascript - 使用后端的值在 extjs 中动态设置日期

html - 为什么我不能在这个 css 代码 wordpress 中调用内容 url?

javascript - 在一段时间内平滑地增加数字

php - setInterval 内的 JavaScript setTimeout

JavaScript setInterval 只运行一次

javascript - 安装 Spectron

javascript - 基于图像方向自动应用高度/宽度属性的 CSS/Javascript 解决方案

javascript - jQuery $.get 失败

javascript - 在页面加载时禁用鼠标悬停功能 3 秒

HTML 图像未在电子邮件中定位