Вот пример проблемы:
Если я открою консоль и введу следующий код в виде одного блока:
var existingWin = window.open('', 'footerContent');
existingWin.close();
var existingWin = window.open('', 'footerContent')
первый вызов window.open и window.close работает, но второй вызов window.open не работает. Даже если я задержу его, чтобы сначала закрыть окно:
var existingWin = window.open('', 'footerContent');
existingWin.close();
setTimeout(function() {var existingWin = window.open('', 'footerContent')}, 3000)
это не работает. Но если я выполню только первые две строки:
var existingWin = window.open('', 'footerContent');
existingWin.close();
и затем отдельно введите:
var existingWin = window.open('', 'footerContent');
теперь открывается окно. Это говорит о том, что проблема заключается в запуске их в одном блоке кода.
Это вызывает у меня проблемы в модульном тесте, который я строю. Может кто-нибудь помочь мне понять, почему это происходит и есть ли способ обойти это? Заранее спасибо.