ウィンドウAIが行うと仮定します
var newWindow = window.open('url', 'name', 'width=100');
新しいウィンドウを開きます(ウィンドウBと呼びます)
次に、ウィンドウBIで、オープナーウィンドウ(ウィンドウA)への参照を取得します。
var opener = $(window.opener)
上記のオープナー変数を使用して、ウィンドウAが更新されたときや更新が終了したときをウィンドウBから検出する方法はありますか?
ウィンドウAIが行うと仮定します
var newWindow = window.open('url', 'name', 'width=100');
新しいウィンドウを開きます(ウィンドウBと呼びます)
次に、ウィンドウBIで、オープナーウィンドウ(ウィンドウA)への参照を取得します。
var opener = $(window.opener)
上記のオープナー変数を使用して、ウィンドウAが更新されたときや更新が終了したときをウィンドウBから検出する方法はありますか?
元のウィンドウに、おそらくタイムスタンプなどの変数を設定します。
$(document).ready(function() {
var datime = Date();
});
次に、ウィンドウ B で同じことを行うと、2 つのウィンドウの作成日に基づいて、ウィンドウ A が最近更新されたかどうかがわかります。ウィンドウ A の作成日を変数としてウィンドウ B に格納することもできます。これにより、ウィンドウ A が更新されたときにいつでも知ることができます。
検出できるのは、オープナーが次の例を使用してアンロードしたときです。
$(opener).unload()
newWindow 内では、タイムアウト後にオープナー内で変数を再割り当てできるはずです。
リロード後に unload-function も再割り当てすることを忘れないでください。
デモを作成しました: http://fiddle.jshell.net/doktormolle/2Pcn8/show/
ソース:
オープナー: http://jsfiddle.net/doktormolle/2Pcn8/
newWindow: http://jsfiddle.net/doktormolle/jB9D6/
IE(6-9)、FF、Chrome、Safari で動作します。
Opera では動作しませんでした