- ベストアンサー
フレーム名がすでに開かれているかを取得する方法
フレーム使用をするとページとしないページの両方で使われるものを作成中です。 下のページで特定のフレーム名がすでに開かれている時だけ、そのフレームに表示したいのですが。 フレーム名がすでに開かれているかを取得する方法がありますでしょうか。 闇雲にwindow.open("a.html","left");だと別のウィンドゥとして開かれてしまうので、この前に判定したいのですが。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんわぁ、Blackwinglsです。 top.frames.length でフレーム数を取得できます。 フレーム数が1以上の時に top.frames[x].name でフレーム名を取得してみるってのはどうでしょうか? なお、xは0から始まりますので要注意。 今、歯が痛くて、サンプルスクリプトを書くだけの元気がないので・・・・(^^;) ちょっと思い付いた分だけ書いてみました。 ではでは(^^)/~~~
その他の回答 (1)
- kokucho81
- ベストアンサー率61% (157/255)
<script ~><!-- if(top.left&&top.left.location.href) window.open(~) //--></script> もしleftに特定のhtmlが入っている必要があるのなら、 <sc ~><!-- if(top.left&&top.left.location.href=="***.htm") 〃 //--></~ という感じ。
お礼
とても簡潔な使い方の表現ありがうございました。 でも、この内容ですと私の使い方の誤りかもしれませんが、存在しないフレームの場合にスクリプトエラーが発生します(IE5.0 Win2K)。 NN6では大丈夫のようですが、今回は汎用的なスクリプトを作成中のため、残念ですが利用できませんでした。 いずれこの使い方も使うことがあると思います、ありがとうございました。
お礼
この使い方でうまくいったみたいです。 0から始まる注意事項もありがたかったです。 ありがとうございました。