При перезагрузке материнского окна теряется ссылка на дочернее окно. Как сохранить? Подробнее. Есть страница с данными. Если надо что-то изменить, по кнопке вызывается дочернее окно. Дочернее окно посылает данные на сервер, и после подтверждения сервера перезагружает себя и материнскую страницу. Но при этом, если закрывают/перезагружают материнскую страницу саму по себе, она должна за собой все дочерние окна закрыть. Реализовано было так (довольно давно): На материнской странице: Код (Text): <script> // переменная дочернего окна var subWin; // флаг, закрывать ли дочернее окно var subWindowsClose = true; // функция открытия дочернего окна function openSubWindow() { subWin = window.open('editingdata.html'); } // функция закрытия дочернего окна при закрытии/перезагрузке // при условии установки флага window.onunload = function() { if(subWinClose == true) { if(typeof subWin !== 'undefined') { subWin.close(); }; }; }; </script> На дочерней странице Код (Text): <script> function windowsReload() { window.opener.subWinClose = false; window.opener.location.reload(); window.location.reload(); }; </script> При корректном внесении данных на дочерней странице вызывается функция windowsReload, которая устанавливает на материнской странице флаг "не закрывать дочернее окно", и перезагружает всё. Ныне все мануалы рекомендуют глобальные переменные не юзать. Как в этом случае обойтись без них - придумать не могу. Ну ладно, хотя бы спрятал их в объект по образцу https://learn.javascript.ru/global-object Проблема в том, что переменная дочернего окна, даже если её внести в глобальный массив, при перезагрузке теряется. Я проверял. undefined. То есть после первой перезагрузке материнского окна, дочерние уже не закрываются сами. Что можно придумать, что бы осовременить, но сохранить функциональность? Можно, конечно, вместо создания отдельных дочерних окон перенести всё в материнскую страницу, сделать там области для редактирования и т.д. Но это много работы, пока сложно с этим.