IE5でwindow.closedを使うには?

[上に] [前に] [次に]
くみぽん 1999/07/22(木) 21:31:52
初心者なのでプログラムにおかしな
ところがあるかもしれませんが教え
て下さい。親ウィンドウからフレ
ーム分割したサブウィンドウを開い
て、そのサブウィンドウ(の中のフレ
ーム)から以下のjavascript関数で
親ウィンドウが開いているかチェック
したいのですが、

function AAA(){
   var sw=window.parent;
   if(sw.opener.closed==false)
   {
alert("親ウィンドウはオープンしています。");
   }
   else
   {
alert("親ウィンドウはクローズしています。");
   }
}

NN4やIE4ではうまくいくのですがIE5では
親ウィンドウを閉じても

alert("親ウィンドウはオープンしています。");

が出てきてしまいます。どこがいけないん
でしょう?どなたか教えていただけませんか?

ばーばまま 1999/07/23(金) 00:22:19
確かめてみたところ、フレームのサブウィンドウを

<A TARGET="FOO" HREF="frame.html">

で開いた時は駄目で、

<A HREF="BOO" onClick="window.open('frame.html', 'FOO')">

で開いた時はうまくいくような気がします・・・

Nobu3 1999/07/23(金) 00:33:36
う〜ん・・・。IE5のバグじゃないんでしょうか?
フレームに限らず、通常のウィンドウの場合でも同じ動作です。
いちおうNN4.6で試してみましたが、正常に動いたので、
スクリプトはあっていると思います。

ばび〜ん 1999/07/23(金) 00:57:31
フラグをひとつ立てて、親ウィンドウの onUnloadを拾うとか。
その時に子ウィンドウが閉じてたらエラーでるし、色々な状況を想定すると
エラーが出ないようにフラグ立てまくることになるかも。

こうの [E-Mail] 2000/03/09(木) 02:37:21
親Window(Zとします。)からAというWindowを開き、そのWindowから(Onloadイベントなどで)BというWindowを開いて、A(親)B(子)の関係でそのスクリプトを試してみたらうまくいきませんか?
でもZから直接Bを開いても、Z、Bの関係ではうまくいかないのですよね。

私もまえにそれで悩んだ記憶が...
多分IE5のバグだと思います。
ばび〜んさんのような方法を試してみてはどうでしょうか?

無責任官庁 2000/03/09(木) 09:28:09
IE4でもそうだったような気がしますけども、
インターネットオプションの中にある
「新しいプロセスでブラウズを開始」のチェックが付いてると、
うまくいかないような事例があったような記憶があります。
IE5は、デフォルトでチェック付いてたと思います。
(IE4は、デフォルトでチェック付いてない)
私の所はIE5入れてないので、アレですけども…
チェックを外して試してみてもらえます?

#これ、チェックを外して“OK”したら、一旦全てのIEを
#終了させないと、うまく適用されません。

[上に] [前に] [次に]