我在IE中试过这个。创建一个uploadify control
( flash版本)并销毁它,一次又一次地执行这些操作。但似乎在调用方法destroy
之后,所记忆的内存并未释放。
库
<script src="Scripts/jquery-3.1.1.js"></script>
<link href="uploadify/uploadify.css" rel="stylesheet" />
<script src="uploadify/jquery.uploadify.js"></script>
HTML
<button id="btnAdd">add</button>
<button id="btnRemoveLast">remove last</button>
<div id="container">
<!--we will place uploadifies here-->
</div>
JS
<script>
$(function () {
$('#btnAdd').click(function () {
add();
});
$('#btnRemoveLast').click(function () {
removeLast();
});
var count = 0;
function removeLast() {
if (count > 0) {
$('#uploadify' + --count).uploadify('destroy');
}
}
function add() {
var elem = $('<div id="uploadify' + count++ + '"></div>');
$('#container').append(elem);
elem.uploadify({
height: 30,
swf: '/uploadify/uploadify.swf',
width: 120
});
}
});
</script>
任何答案都将不胜感激,感谢您赦免我的英语:)
答案 0 :(得分:1)
对不起我迟到了。我在下班后看到了这个问题。在看到uploadify的源代码后,我找到了问题的解决方案。 它似乎适用于我的IE11。请注意排队。 enter image description here
但是为什么不试试function CollectGarbage().Finally
,请忘记我的英语不好。
答案 1 :(得分:0)
看起来像另一个IE“有趣”。 如果问题与我所知的问题相同,那么nullify就是答案。 在IE中,GC存在一个错误,因此您需要“释放”自己的引用和范围变量。
试试这个:
var upToDestroy = $('#uploadify' + --count);
upToDestroy.uploadify('destroy');
upToDestroy = null;