Javascript 親ウィンドウを更新(Reload)してみる

意外ともたつくことが多いのでメモ。

ページの流れ

  • メインのページ(A)
  • サブウィンドウのページ(B)
  1. メインページ(A) のリンクから サブウィンドウ(B) を別窓で開く。
  2. サブウィンドウ(B) で、フォーム処理(ログインとかね)する。
  3. サブウィンドウ(B) を閉じたら、メインページ(A) を更新する。

この流れで、よくある失敗が、メイン(A)の更新処理を別ウィンドウ(B)から、どうやってアクセスするかというところ。

  • サブウィンドウ(B)から見たメインウィンドウ(A) → window.opener
  • それを location.reload() して更新する。

実際には、サブウィンドウ(B) の onload とか、 「閉じるリンク」の onclick などのいずれかに

<script type=”text/javascript”><!–
window.opener.location.reload();
//–></script>

を記述します。

onload に記述した場合、サブウィンドウ(B) を閉じる前に、バックグラウンドで更新するので、ウィンドウをブラウザの閉じるボタン[×] で閉じられた場合にも対応できるのでオススメ。

※メインページがフォームPOST直後のページだったり、動的なページの場合は、更新タイミングで「POSTデータを再送信しますか?」みたいな警告が出る場合があります。
これは、メインページの方で、対処しておくといいです。


関連記事

  1. 秋葉原通り魔事件[6/8]
  2. 「管理職以外手当」「独身手当」って、何ですか?
  3. IE6でmarginが2倍になる対策
  4. [モバイル]formでの入力文字種制限 | レジストプランニング|スタッフブログ
  5. SEOなのか?の話題
逆アクセスランキング3ゲット:ライフスタイル

1 Response to “Javascript 親ウィンドウを更新(Reload)してみる”


  1. WEB in the morning

    写真が・・・怖いっす。