Всплывающее расширение
My Chrome открывает новое окно через window.open()
. Но когда я вызываю close для ссылки на новое окно, оно фактически закрывает и окно, созданное программным способом, и само всплывающее окно расширения. То же самое происходит, когда я закрываю новое окно с помощью клавиатуры (Cmd + W
на Ма c), но не , когда закрываю его курсором из кнопки X
(закрыть) окна ( только окно закрывается, а расширение остается открытым).
Вот как окно открывается и закрывается:
const popup = window.open('domain.com/extension', 'Title', params)
window.addEventListener('message', async ({ data }) => {
if (!data.status) popup.close()
})
То же самое происходит, когда само дочернее окно вызывает window.close()
:
if (location.pathname === '/extension') {
window.opener.postMessage({ status: condition }, '*')
return window.close()
}
Это из-за смещения фокуса между windows (то есть окно с открытым расширением временно теряет фокус)? Есть ли какой-нибудь известный способ для этого?