解决ie img标签内存泄漏

代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>IMG元素内存泄露测试</title>
    <script type="text/javascript" src="jquery-1.7.1.js"></script>
    <script type="text/javascript">
        $(function () {
            var i = 0;
            var t;

            // img标签方式  
            function changeImage() {
                i++;
                var picIndex = i % 20;
                $("#imagePath").html("images/" + picIndex + ".jpg");
                $("#div").append("<img width='100' height='100' src='images/" + picIndex + ".jpg' />");
            };

            function end() {
                clearInterval(t);
                $("#div").find("img").each(function () {
                    $(this).attr("src", "");
                    $(this).remove();
                });
                CollectGarbage();
            }

            t = window.setInterval(changeImage, 200);
            window.setTimeout(end, 5000);
        });
    </script>
</head>
<body>
    <label id="imagePath"></label>

    <!-- 使用img标签,不改变图片大小,不会发生内存泄漏。 -->
    <div id="div">
    </div>
</body>
</html>
View Code

释放img占用内存的js代码:

$("#div").find("img").each(function () {
    $(this).attr("src", "");
    $(this).remove();
});
CollectGarbage();
View Code

 

posted @ 2017-10-12 11:23  0611163  阅读(624)  评论(2编辑  收藏  举报