window.open(...)
を使用して小さなポップアップ参照ウィンドウを開き、名前を付けます。そのウィンドウに対して次のwindow.open
が呼び出されると、正しく再利用されます。URLハッシュが変更されたときにwindow.openで開いた開いているウィンドウを更新します
function openHelp(hash) {
var helpWindow = window.open(location.protocol + "/help.aspx" + (hash ? "#" + hash : ""), "helpWindow", "width=750, height=600, resizable=1, scrollbars=1, location=0, directories=0, status=no, menubar=no, toolbar=no");
}
それが正常に動作しない1ケースは、誰かがヘルプページのURLで開いて、ウィンドウを持っているときにのみ、ハッシュ変化(すなわち#jump-to-me
)。ページのリロードだけで、ページが適切にハッシュに移動します。
開いているウィンドウを見つける方法は、URLが私たちが開いているものと一致することをチェックし、条件付きでwindow.location.refresh()
を実行します。
私はすばやいgoogleが私にこれら2つのスタックオーバーフローポストを与えてくれました。 http://stackoverflow.com/questions/4059179/refresh-child-window-from-parent-window and http://stackoverflow.com/questions/3090478/jquery-hashchange-event –