• ベストアンサー

フレーム名がすでに開かれているかを取得する方法

フレーム使用をするとページとしないページの両方で使われるものを作成中です。 下のページで特定のフレーム名がすでに開かれている時だけ、そのフレームに表示したいのですが。 フレーム名がすでに開かれているかを取得する方法がありますでしょうか。 闇雲にwindow.open("a.html","left");だと別のウィンドゥとして開かれてしまうので、この前に判定したいのですが。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんばんわぁ、Blackwinglsです。 top.frames.length でフレーム数を取得できます。 フレーム数が1以上の時に top.frames[x].name でフレーム名を取得してみるってのはどうでしょうか? なお、xは0から始まりますので要注意。 今、歯が痛くて、サンプルスクリプトを書くだけの元気がないので・・・・(^^;) ちょっと思い付いた分だけ書いてみました。 ではでは(^^)/~~~

ayamailnet
質問者

お礼

この使い方でうまくいったみたいです。 0から始まる注意事項もありがたかったです。 ありがとうございました。

その他の回答 (1)

  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.2

<script ~><!-- if(top.left&&top.left.location.href) window.open(~) //--></script> もしleftに特定のhtmlが入っている必要があるのなら、 <sc ~><!-- if(top.left&&top.left.location.href=="***.htm") 〃 //--></~ という感じ。

ayamailnet
質問者

お礼

とても簡潔な使い方の表現ありがうございました。 でも、この内容ですと私の使い方の誤りかもしれませんが、存在しないフレームの場合にスクリプトエラーが発生します(IE5.0 Win2K)。 NN6では大丈夫のようですが、今回は汎用的なスクリプトを作成中のため、残念ですが利用できませんでした。 いずれこの使い方も使うことがあると思います、ありがとうございました。

関連するQ&A