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)