首页 新闻 会员 周边

setinteral()在页面上定时刷新局部页面,IE内存泄漏,高分求解决

0
悬赏园豆:100 [已解决问题] 解决于 2014-10-15 09:10

这是全部的代码,引用一个jquery就行,IE8或者以下的浏览器,你会发现内存只高不掉,这是模拟,实际的我要做的页面内存就不是涨这么少的,涨的很多

 

 

<html>
<head>
<title>a</title>
<script src="Scripts/jquery-1.7.1.min.js"></script>
</head>
<script>
$(function () {
setImgTimer();
})
var g_ImgTimer = null;
function setImgTimer() {
var data = new Date();
if (g_ImgTimer) clearTimeout(g_ImgTimer);
g_ImgTimer = setInterval(refreshThisWindow, 1000);
}
function refreshThisWindow() {
var data = new Date();
$("#aaa").empty();
$("#aaa").html("<div>" + data + "</div>");
}
</script>
<body>
<div id="aaa">
</div>
</body>
</html>

 

奥巴马说你代码写的好的主页 奥巴马说你代码写的好 | 初学一级 | 园豆:126
提问于:2014-10-14 11:24
< >
分享
最佳答案
1

代码不全,zz代码呢?

收获园豆:100
幻天芒 | 高人七级 |园豆:37175 | 2014-10-14 11:26

zz只是一个例子,

function zz(){

var data=new Date();

$("#inner").empty();

$("#inner").append('<div>'+data+'</div>');

}

这样在页面刷新时间都会有

奥巴马说你代码写的好 | 园豆:126 (初学一级) | 2014-10-14 11:28

@奥巴马说你代码写的好: 我确实看不出来,这代码哪儿会泄露。是IE吗?

幻天芒 | 园豆:37175 (高人七级) | 2014-10-14 15:22

@幻天芒: 就是IE

奥巴马说你代码写的好 | 园豆:126 (初学一级) | 2014-10-14 16:21

@奥巴马说你代码写的好: 

setInterval(function(){
    $('#aaa').html('<div>'+(new Date())+'</div>')
},1000)
幻天芒 | 园豆:37175 (高人七级) | 2014-10-14 23:04

@幻天芒: 这样的确可以解决,你比哪些只会说P话的强多了,分给你了

奥巴马说你代码写的好 | 园豆:126 (初学一级) | 2014-10-15 09:09

@奥巴马说你代码写的好: 哇靠,不是吧,解决了?瞎猫碰上死耗子了。只是我每次都这样写的...你那代码太长了(有代码洁癖)。

幻天芒 | 园豆:37175 (高人七级) | 2014-10-15 15:03
其他回答(3)
0

IE内存泄漏?

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-10-14 14:12

@奥巴马说你代码写的好: 既然你测试说是IE8及以下才会发生内存泄漏,那么会不会是IE自身的问题?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-10-14 16:48

@晓菜鸟: 不是,我找了别人的网站看了,也有这个刷新,但是人家的不会

@奥巴马说你代码写的好: 把他的JS搞下来,仔细对比一下。

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-10-14 17:04

@晓菜鸟: 远程JS加密了

@奥巴马说你代码写的好: 太吊了吧!

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-10-14 18:21
1

看楼主的问题,我大约脑补了一下,是否如下情况:

1、这个页面从来不关闭,连续运行,只要不出现内存泄露。

2、每隔一定时间,你这儿写是120000毫秒,也就是120秒,2分钟,就按照一定的方式刷新页面的局部。

 

那么现在问题来了,挖掘机技术到底哪家强?

1、大约多久时间后,IE崩溃? 崩溃时是否有错误代码或者以什么方式崩溃?

2、为什么要使用这种方式来刷新页面,是否可以采用别的方式刷新?

3、既然可以判断是内存泄露,那么问题就是javascript没有能够很好地将你代码中使用的内存释放,

或者说你的代码中有问题,会造成内存不断占用而不释放的情况出现,这样的话,则需要看你几乎所有的代码才能知道问题出在哪儿。

4、我看到很多人问问题,还遮遮掩掩的,估计要么是觉得自己的项目太稀有,要么是自己的代码太珍贵,随便漏出一点,

直接影响中国2014年GDP增长。但通常或者说经常性的情况是,当事人自己进入误区,错误通常出现在你没有说出来的那部份资料中。

5、如果确实有保密性的需求,你完全可以通过良好的抽象,将你的问题通过去除可造成危害的信息,通过一个简单的方式重现或者描述出来。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-14 14:40

大叔的问答还是一如既往的犀利~:)

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2014-10-14 15:21

1.这是全部的JS代码,是在页面上显示一个时间,时间是动态的,20000毫秒是为了更好的看看是不是刷新太快了导致的,也可以设置为1000豪秒

2.问题只有IE8和以下的浏览器才会出现

3.这个只是模拟,这个的增长比较小,但还是会有的,实际上我是要加载一个股票行情图,内存是噌噌噌的上涨,过不了一会就崩溃了,由于页面上有其他东西,我只能做局部刷新

4.网上所有的关于这个的解决方法我都用了,全没用,不然不会来发帖了

0

我是学挖掘机的,上面的代码已经测试过了,一小时内毫无问题。

zhibudao | 园豆:525 (小虾三级) | 2014-10-14 15:28

问题只有IE8和以下的浏览器才会出现

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册