2

JavaScriptを使用してポップアップウィンドウを開いています。

ポップアップ ウィンドウには、閉じたときにオープナー ウィンドウの一部の値を変更するコードが含まれています。

このようなもの...

window.opener.jQuery('#txtFee').trigger('change');

このロジックは、1 つのウィンドウのみを使用する場合にうまく機能します。しかし、バグがあります...

このポップアップ ウィンドウを開くことができるウィンドウが 2 つあります。あるウィンドウからポップアップを開き、ポップアップを開いたままにしておくと、別のウィンドウからポップアップを開くと、ポップアップは問題なく更新されますが、window.opener はポップアップを開くために使用した最初のウィンドウを引き続き参照します。これを修正する方法はありますか?

4

1 に答える 1

0

ポップアップを開く両方のウィンドウから、イベントをポップアップ ウィンドウにバインドできonbeforeunloadますonunload

var popWindow = window.open(url, name, options, replace);
popWindow.focus();

popWindow.onbeforeunload = function()
{
    $('#txtFee').trigger('change'); //DO WHATEVER YOU WANT HERE
    console.log("onbeforeunload fired from ", popWindow.name);
}

popWindow.onunload = function()
{
    console.log("onunload fired from ", popWindow.name);
}
于 2013-01-16T01:25:27.173 に答える