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 }