jQuery: Wie zu erkennen, wenn popup-Fenster geschlossen ist?
Will ich erkennen, ob der Benutzer die betätigung der browser-Schaltfläche schließen in einem popup-Fenster, in meiner Anwendung.
Durch Sucherei fand ich diese Lösung:
$(window).bind('beforeunload', function(event) {
$.ajax({url:"acquisition_cleanup.php", async:false});
var dataStr = 'id={id}';
$.ajax({
type: "POST",
url: "acquisition_cleanup.php",
data: dataStr,
success: function() {
window.close();
}
});
});
Funktioniert es auch auf meinem Ubuntu-Rechner mit Firefox 31. Aber leider funktioniert es nicht auf windows-Rechner mit der gleichen Firefox-Browser. Wie kann ich dieses Problem lösen? Vielen Dank für Ihre Hilfe!
//EDIT
Dies ist die Funktion, die ich verwenden, um das Fenster zu öffnen:
function popup (url) {
win = window.open(url, "Fenster", "width=1200,height=600,resizable=yes,menubar=no,toolbar=no,status=no,location=no,directories =no");
win.focus();
return false;
}
EDIT 2 //
Ich habe dies nur Hinzugefügt, um die global.js
function checkWindowClosed(url, progress) {
var yourwindowname; //add in Global
if(yourwindowname==undefined){
var param= "toolbar=no,scrollbars=1";
yourwindowname=window.open(url, "Fenster", param);
}else{
yourwindowname.focus();
}
var timer = setInterval(function() {
if(yourwindowname.closed) {
clearInterval(timer);
progress();
alert("Popup Closed");
}else{
yourwindowname.close();
}
}, 1000);
}
Und in die HTML-Datei, die ich benutzt die Funktion so, aber es funktioniert immer noch nicht:
checkWindowClosed("aquisition.php", function() {
$.ajax({url:"acquisition_cleanup.php", async:true});
var dataStr = 'id={id}';
$.ajax({
type: "POST",
url: "acquisition_cleanup.php",
data: dataStr,
success: function () {
window.close();
}
});
});
- Welche Art von popup verwenden Sie? Ich kann Ihnen die Antwort für die bootstrap-popups sofort, aber ich weiß nicht, ob das, was Sie wollen
- Ich bezweifle es, da es keinen Verweis auf das, was in der Frage oder in den tags enthalten.
- Ich habe den code Hinzugefügt, um den ursprünglichen post.
- PS: ich muss überprüfen, ob das popup geschlossen ist, in der poput es sich von selbst, denn der index hat nicht die neccassary Daten...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies versuchen, können Sie verwenden Sie den folgenden code zum überprüfen der browser-popup geschlossen-status.
Aktualisierten code für Ihre arbeiten Projekt: Verwenden den folgenden code anstelle von Ihrem aktuellen javascript-Funktionen.