首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery加载内容时发生IE6内存泄漏

使用jQuery加载内容时发生IE6内存泄漏
EN

Stack Overflow用户
提问于 2011-07-28 13:07:16
回答 3查看 292关注 0票数 1

我想我的应用程序中有一个内存泄漏,我无法进行本地化。

应用程序下载内容并显示它。当内容已经下载时,它只会显示它(因为它是早先下载的)。

当我从select中选择至少10个不同的选项时,错误就会出现。(选择选项1并使用#wcc-提交并等待加载确认,...,选择选项10并使用#wcc-提交并等待加载确认)。每选择一个选项,应用程序就会变慢。最后,出现以下错误:

该应用程序在IE6中进行了测试。

js:

代码语言:javascript
复制
<script type="text/javascript">
(function($){
$(function(){
var language = 'de';
var fadeOutSpinnerFadeInContent = function(pageID) {
    $('#wcc-loader').fadeOut(500, function() {
        $('#wcc-content-'+pageID).fadeIn(500);
    });
};
var makeAjaxCall = function(pageID) {
    $.ajax({
        url: '/some/path/'+language+'/'+pageID+'.php',
        type: 'get',
        dataType: 'html',

        success: function(data, textStatus, jqXHR) {
            $('#wcc-content-container').append('<div id="wcc-content-'+pageID+'" class="wcc-content hide">'+data+'<div>');
        },
        error: function(jqXHR, textStatus, errorThrown) {
            alert('error');
        },
        complete: function(jqXHR, textStatus) {
            fadeOutSpinnerFadeInContent(pageID);
        }
    });
};
var downloadContent = function(pageID) {
    $('#wcc-loader').fadeIn(500, function() {
        makeAjaxCall(pageID);
    });//end fade out spinner
};
var openPage = function(pageID) {
    var earlierContent = $('.wcc-content');
    if( earlierContent.size() > 0 ) {
        earlierContent.fadeOut(500, function() {
            if( $('#wcc-content-'+pageID).size() > 0 ) {
                $('#wcc-content-'+pageID).fadeIn(500);
            } else {
                downloadContent(pageID);
            }
        });
    } else {
        downloadContent(pageID);
    }
};

var availableHashArray = [
    '-1',
    'page_id_1',
    'page_id_2',
    ...
    'page_id_100',
    ],
    choosenHash = $.inArray( window.location.hash.substring(1), availableHashArray);

$('#wcc-submit').bind('click.cs', function() {
    var selectedValue = $('#select-1').val();

    if(parseInt(selectedValue, 10) !== -1) {
        window.location.hash = selectedValue;
        openPage(selectedValue);
    }
});

if( choosenHash !== -1 ) {
    $('#select-1 option[selected="selected"]').removeAttr('selected');
    $('#select-1 option').eq(choosenHash).attr('selected', 'selected');
    $('#wcc-submit').trigger('click.cs');
}

});
})(jQuery);
</script>

html:

代码语言:javascript
复制
<div id="wcc-form" class="fm-form">
    <form action="#" method="post">
        <div class="select-form">
                    <label class="hidden" for="select-1">Choose an option</label>
                    <select id="select-1" class="fm-text fm-select" name="select-1" >
                        <option value="-1" selected="selected">Choose an option</option>
                        <option value="page_id_1" selected="selected">option 1</option>
                        <option value="page_id_2" selected="selected">option 2</option>
                        ...
                        <option value="page_id_100" selected="selected">option 100</option>
                    </select>
                    <input id="wcc-submit" type="button" value="Show" />
        </div>
    </form>
</div>
<div id="wcc-content-container">
</div>
<div id="wcc-content-container">
    <div id="wcc-loader" class="hide"></div>
</div>

css:

代码语言:javascript
复制
<style type="text/css">
.hide{
    display:none;
}
#wcc-loader{
    height:50px;
    background:#fff url('/some/path/to/spinner.gif') 50% 50% no-repeat;
}
    #select-1{
        margin-left:20px;
    }
</style>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-28 13:10:01

啊,是的,我知道这个问题的答案。

“忽略了整个问题,因为它是IE6,它必须要死。”

什么?总得有人说出来。

票数 0
EN

Stack Overflow用户

发布于 2011-07-28 13:13:13

您可以尝试使用像dynaTrace Ajax Edition (免费)这样的JavaScript分析器来查找脚本中最慢的部分。

http://ajax.dynatrace.com/ajax/en/

票数 0
EN

Stack Overflow用户

发布于 2011-07-28 13:27:22

这很可能是您无法控制的jQuery问题。(除了不使用产生内存泄漏的那部分代码之外)。

在那些日子里,JS不是用来做这种事情的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6854340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档