Показать сообщение отдельно
  #8 (permalink)  
Старый 04.09.2021, 16:19
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,714

Ho тем не менее проблемы утечки памяти тут все равно остаются.

Открытое окно делает
window.opener.closeChildWindow(result);

result - объект. Но это объект из окружения этого окна. Он имеет ссылки на другие объекты этого окружения. Хотя бы на Object из этого окружения.
И пока ссылки на него или его части будут существовать в главном окне, все это окружение (или его значительная часть) будет оставаться в памяти.
Тут все зависит от того, какая работа ведется в главном окне. Можно ли корректно скопировать все в своем окружении и очистить эти ссылки.

Если result содержит поля только примитивных типов, или другие объекты с полями примитивных типов, то можно сделать
window.closeChildWindow = function (result)
        {
             result = JSON.parse(JSON.stringify(result))
......
         }

Последний раз редактировалось voraa, 04.09.2021 в 16:31.
Ответить с цитированием