JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="tryme" type="button" value="Try me !" />
<p>?</p>

JavaScript

window.currentChild = false;

$("#tryme").click(function() {
    if (currentChild) currentChild.close();
    const child = window.open("about:blank", "lmao", 'width=250,height=300');
    currentChild = child;

    //Scrope script in child windows
    child.frames.eval(`
    setInterval(function () {
        if (!window.opener.currentChild)
      		window.opener.currentChild = window;
    }, 500);
  `);
});


setInterval(function() {
console.log(currentChild)
    if (!currentChild || (currentChild && currentChild.closed))
        $("p").text("No popup/child. :(")
    else
        $("p").text("Child detected !")
}, 500);