gpt4 book ai didi

javascript - 使用 jQuery 加载内容时 IE6 内存泄漏

转载 作者:行者123 更新时间:2023-11-28 10:59:47 25 4
gpt4 key购买 nike

我认为我的应用程序存在内存泄漏,无法本地化。

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

当我从选择中选择至少 10 个不同的选项时,该错误就会出现。(选择选项 1 并使用 #wcc-submit 确认并等待加载,...,选择选项 10 并使用 #wcc-submit 确认并等待加载)。对于每个选定的选项,应用程序都会变慢。最后出现这个错误:

IE 6 error

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

js:

<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:

<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:

<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>

最佳答案

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

“忽略整个问题,因为它是 IE6,它必须消亡。”

什么?必须有人这么说。

关于javascript - 使用 jQuery 加载内容时 IE6 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com