JSFiddle - React, Tailwind, and code Playground

by Aliaksei_MArtsinkevich

HTML

<button id='btn'>
   Open site
</button>

<pre id='out'>
	
</pre>

JavaScript

const btn = document.getElementById('btn')
const out = document.getElementById('out')

function openWindow(url) {
	return new Promise((resolve) => {
		// Открываем новое окно
		const newWindow = window.open(url, '_blank')
		
		// Опрашиваем окошко через каждые 100мс
		const interval = setInterval(() => {
			if (newWindow.closed) {
				resolve();
				
				clearInterval(interval)
			}
		}, 100)
	})
}



async function displayStatus() {
	out.innerText = "Waiting for window... ⚙"
	
	await openWindow('https://google.com')

	out.innerText = "Window is closed"
}

btn.addEventListener('click', displayStatus)