Web ページにメイン ウィンドウ (#1) があり、そこから新しいブラウザ ウィンドウ (#2) を開き、そこから新しいウィンドウ (#3) を開きます。
ユーザーが window#3 の前に window#2 を閉じると、window#3 が window.opener で関数を呼び出せなくなるという問題が発生します。
私がやりたいのは、window#2 が閉じるときに window#3.opener を window#1 に設定することです。
私はこれをwindow#2でやろうとしました(私はjqueryを使用しています):
var children = [];
$(window).unload( function( ) {
$.each( children, function( p, win ) {
if ( win ) {
win.opener = window.opener;
}
} );
} );
window#3 がロードされたら、window#2 の配列 children にそのウィンドウを追加します。
ただし、window#2 が window#3 の前に閉じられている場合でも、windows#3 の window.opener は window#1 を指していません。
ウィンドウ #2 を閉じた後も、孫ウィンドウ (ウィンドウ #3) がメイン ウィンドウ (ウィンドウ #1) を呼び出せるようにするにはどうすればよいですか?