Vérifiez si la fenêtre contextuelle est déjà ouverte

Comment puis-je modifier cela afin qu'il vérifie et si une fenêtre contextuelle est déjà ouverte?

function popUp(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=100');"); } 

///////////// Edit No2

var options = "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=100";

var popup = window.open(URL, "popup", options);

function popUp(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=100');"); }

Mon appel js

<a id="floating_link" href="javascript:popUp('MyPage.html')">Player</a>

Utilisez le même id pour la fenêtre, qui est le nom de la fenêtre, pour la réutiliser si elle existe.

http://www.w3schools.com/jsref/met_win_open.asp

 var options = "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=100"; var popup = window.open(URL, "popup", options); 

Pour ce faire avec une étiquette d'ancrage, il suffit de définir la target

Si vous définissez la cible target="myopup" une balise d'ancrage target="myopup" elle utilisera cette même fenêtre si elle existe

Ma réponse est à cette question liée ici.

Vérifiez le code suivant.

Vous pouvez utiliser onbreforeload pour obtenir un rappel avant que la fenêtre ne soit déchargée.

Pour vérifier si cela est dû à window.close do this

 setTimeout(function(){ if(anc.closed) console.log('closed'); else console.log('refreshed'); },1000); // to check after the window closed 

CODE COMPLET

 var anc = window.open('https://stackoverflow.com'); var anc.onbeforeunload = function() { // called before closing the window. setTimeout(function() { if (anc.closed) console.log('closed'); else console.log('refreshed'); }, 1000); // to check after the window closed }