IE内存泄漏和使用jQuery的eval [英] IE memory leak and eval with jQuery

查看:86
本文介绍了IE内存泄漏和使用jQuery的eval的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个页面,需要根据数据库中的数据更新其元素。我想知道你对使用eval的这种方法有什么看法,我知道它有风险,但在我看来这是最快的方法。

I've created a page which needs to have its elements updated according what's happening with the data in our database. I'd like to know what do you think about this approach using eval, I know it's risky but in my case it was the fastest way.

$('.updatable').each(function () {
        var data;
        data = 'ViewObjectId=' + $(this).attr('objectid');

        $.ajax({
            async: true,
            url: '/Ajax/GetUpdatedViewObjectDataHandler.ashx',
            data: data,
            type: 'POST',
            timeout: 10000,
            success: function (data) {
                $.each(data, function (index, value) {
                        eval(value);
                });
            }
        });

现在我遇到的问题是页面加载时,页面每10秒更新一次,直到这里完美。

每轮更新后,我的Internet Explorer会窃取一些内存,并在几小时后获得整个机器内存,非常棒。

在这种情况下你会做什么?其他一些更新认可建议使用什么?或者甚至,你认为我能做些什么来避免这种内存泄漏?

推荐答案

在这里找到答案:简单的jQuery Ajax调用泄漏Internet Explorer中的内存

解决方案:

 var request = $.ajax({ .... });

 request.onreadystatechange = null; 
 request.abort = null; 
 request = null;

JQuery没有这样做,内存永远不会释放。

JQuery doesn't do that and the memory never releases.

jQuery版本1.4.2。

jQuery version 1.4.2.

现在它就像魅力一样。

这篇关于IE内存泄漏和使用jQuery的eval的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆