web-dev-qa-db-ja.com

閉じるときに親にデータを返すポップアップウィンドウ

window.open()を使用してポップアップウィンドウを開きました。ユーザーがこの新しいウィンドウ内の「許可」または「許可しない」の2つのリンクのいずれかをクリックできるようになりました。

ユーザーがこれらのリンクのいずれかをクリックすると、「ポップアップ」ウィンドウが閉じ、「許可」または「許可しない」またはそれらの行に沿って何かが返されます。true/false 、親ウィンドウに。

出来ますか?もしそうなら、どのように?

コード:

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

その後、auth.php

25
Joey Emery

呼び出し(親)ウィンドウで、そのようなJSコードを追加します。

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

子ウィンドウコードでこれを追加します。

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

そして、ポップアップを閉じるようなリンクがあります:

<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