Wenn Sie die Kontrolle über den Inhalt des Pop-up haben, die dort unload
Veranstaltung Fenstergriff und das ursprüngliche Fenster über die opener
Eigenschaft benachrichtigen , zuerst prüfen, ob der Öffner geschlossen wurde. Beachten Sie, dass dies nicht immer in Opera funktioniert.
window.onunload = function() {
var win = window.opener;
if (!win.closed) {
win.someFunctionToCallWhenPopUpCloses();
}
};
Da das unload
Ereignis ausgelöst wird, wenn der Benutzer von der Seite in dem Pop-up und nicht nur navigiert weg, wenn das Fenster geschlossen ist, sollten Sie überprüfen, dass das Pop-up in someFunctionToCallWhenPopUpCloses
tatsächlich geschlossen hat:
var popUp = window.open("popup.html", "thePopUp", "");
function someFunctionToCallWhenPopUpCloses() {
window.setTimeout(function() {
if (popUp.closed) {
alert("Pop-up definitely closed");
}
}, 1);
}
wenn Sie die Kontrolle über den Inhalt des Pop-up nicht haben, oder wenn einer Ihres Ziel Browser das unload
Ereignis nicht unterstützt, sind Sie im Hauptfenster zu irgendeiner Art von Polling Lösung reduziert . Passen Sie das Intervall entsprechend an.
var win = window.open("popup.html", "thePopUp", "");
var pollTimer = window.setInterval(function() {
if (win.closed !== false) { // !== is required for compatibility with Opera
window.clearInterval(pollTimer);
someFunctionToCallWhenPopUpCloses();
}
}, 200);
ein Popup-Browser? – Reigel
definieren "Pop-up". Sprechen wir eine Art von auf der Seite gerenderten modalen Kasten? Ein JavaScript-Alarm? Ein neues Browserfenster? –
Ein neues Browserfenster ... sorry für meinen Mangel an Klarheit – Pablo