it-swarm.com.de

Popup-Fenster, um beim Schließen Daten an das übergeordnete Element zurückzugeben

Ich habe ein Popup-Fenster mit window.open() geöffnet. Was ich jetzt möchte, ist, dass ein Benutzer in diesem neuen Fenster auf einen von zwei Links klicken kann: "Zulassen" oder "Nicht zulassen".

Wenn ein Benutzer auf einen dieser Links klickt, sollte sich das Popup-Fenster schließen und entweder "Zulassen" oder "Nicht Zulassen" oder etwas in dieser Richtung zurückgeben, was true/false tun würde zum übergeordneten Fenster.

Ist es möglich? Wenn das so ist, wie?

Code:

var authWindow = window.open('auth.php', 'authWindow', 'options...');

Dann nur noch 2 Anker in auth.php?

25
Joey Emery

Fügen Sie im aufrufenden (übergeordneten) Fenster den folgenden JS-Code hinzu:

function HandlePopupResult(result) {
    alert("result of popup is: " + result);
}

Fügen Sie im Code des untergeordneten Fensters Folgendes hinzu:

function CloseMySelf(sender) {
    try {
        window.opener.HandlePopupResult(sender.getAttribute("result"));
    }
    catch (err) {}
    window.close();
    return false;
}

Und haben solche Links, um das Popup zu schließen:

<a href="#" result="allow" onclick="return CloseMySelf(this);">Allow</a>
<a href="#" result="disallow" onclick="return CloseMySelf(this);">Don't Allow</a>
60
Shadow Wizard

du kannst window.opener dafür.

4