Я пытаюсь реализовать функцию открытия всплывающего окна при посещении домашней страницы (родительского окна). У меня есть функция setInterval, которая проверяет, закрыто ли всплывающее окно или нет. Если он закрыт, он снова открывает всплывающее окно.
Но когда родительское окно обновляется, а всплывающее окно (дочернее окно) закрывается. Он не открывается повторно, поскольку объект окна становится нулевым, а условие if(Window !== null && Window.closed) не выполняется. Любая помощь в том, как заставить всплывающее окно перезапускаться при закрытии после обновления домашней страницы или как получить ссылку на объект дочернего окна после обновления родительского окна.
var Window = null;
var WindowLauncher = function() {
//Timer to check if window is closed
var timer = setInterval(function() {
if(Window !== null && Window.closed) {
try{
alert("DO NOT CLOSE WINDOW");
this.launchWindow();
} catch (e) {
log.error('Window is closed but we are unable to open the login popup. %s', e.getMessage()).withException(e);
}
}
}, 1000);
};
WindowLauncher.prototype.init = function() {
// has a event subscription code. When a timeout event triggers it calls the launchWindow()
};
WindowLauncher.prototype.launchWindow = function () {
var width = 360;
var height = 520;
var left = (screen.width / 2) - (width / 2);
var top = (screen.height / 2) - (height / 2);
Window = window.open(URL, true, 'width=' + width + ',height=' + height + ',menubar=no,status=no,toolbar=no,left=' + left + ',top=' + top);
}