JSFiddle - React, Tailwind, and code Playground

by Mykola Senyk

HTML

<a href="#" id="linkOpen">open window</a>
<a href="#" id="linkClose">close window</a>

JavaScript

var w;
var timerId;

function checkWindowOpen() {
    if ( w && !w.closed ) {
        timerId = setTimeout(checkWindowOpen, 500);
    } else {
        console.log('Window has been closed');
    }
}

function openW(evt) {
    evt.preventDefault();
    //console.log('before open');
    w = window.open('http://senyk.poltava.ua/', 'dialogue', "height=300,width=200");
    //console.log('after open');
    console.log(w);
    checkWindowOpen();
    
}
var link = document.getElementById('linkOpen');
link.addEventListener('click', openW);
document.getElementById('linkClose').addEventListener('click', function(evt) {
    evt.preventDefault();
    console.log(w);
    w.close();
});

//console.log(window.top);