ОБНОВЛЕНИЕ: Я опубликовал этот вопрос год назад, как ни странно, у меня та же проблема в проекте, над которым я работаю, в основном в IE7. В основном я установил IE7 в WinXP SP3 на виртуальном ПК, и утечки памяти произошли с кодом ниже. В принципе, я не хочу утечек кода с примером кода, который я предоставил ниже, любая помощь будет оценена
Я недавно просматривал этот инструмент для проверки утечки памяти: http://home.orange.nl/jsrosman/
Поэтому я решил протестировать инструмент, создав главную страницу, которая откроет всплывающее окно.
Я начал с создания 3 страниц: index.html, page1.html и page2.html, страница index.html откроет дочернее окно (всплывающее окно) со ссылкой на page1.html. Страница1 будет иметь тег привязки, который ссылается на page2.html, а страница2 будет иметь ссылку на страницу page1.html
.
ПРОБЛЕМА
Итак, в инструменте, который я открыл на странице index.html, всплывающее окно открылось до page1.html, затем я щелкнул ссылку page2, утечек пока не обнаружено.
Пока я на странице 2, я щелкаю ссылку обратно на страницу 1, и там инструмент утверждает, что есть ссылка. Утечка, кажется, происходит на странице index.html, и я понятия не имею, почему она это делает. Еще большее беспокойство вызывает то, что я вижу элементы, которые обнаруживает инструмент, которых нет даже на моей странице.
Кто-нибудь имеет опыт работы с этим инструментом или знает, действительно ли это утечка памяти?
Есть примеры того, как добиться того, что я делаю, без утечек памяти?
index.html
<script type="text/javascript">
MYLEAK = function() {
var childWindow = null;
function showWindow() {
childWindow = window.open("page1.html", "myWindow");
return false;
}
return {
init: function() {
$("#window-link").bind("click", showWindow);
}
}
}();
</script>
</head>
<body>
<a id="window-link" href="#" on>Open Window</a>
<script type="text/javascript">
$(document).ready(function() {
MYLEAK.init();
});
</script>
</body>
</html>
page1.html
<html>
<body>
<h1>Page 1</h1>
<a href="page2.html">Page2</a>
</body>
</html>
PAGE2.HTML
<html>
<body>
<h1>Page 2</h1>
<a href="page1.html">Page1</a>
</body>
</html>
Цените ваши усилия.