- ベストアンサー
"rows", "*,100%"って何の記述?
- あるサンプルjavascriptを見ていて何をしているのかよく分からなかった箇所について教えてほしいと思います。
- 親画面→子画面を呼び出して、子画面のボタンを押下すると親画面のメインフレームを更新します。
- opener.parament.document.all.tags("frameset")[cnt-1].setAttribute("rows", "*,100%")という記述は、親画面の一番下のフレームの幅を変更するためのものです。具体的には、フレームの幅を"*,100%"の比率で設定していますが、具体的な画面構成や値の変更によってどのような結果が得られるかはわかりません。詳しい情報を提供できる方がいれば、教えていただけるとありがたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
cntはフレームの数ではなくframeset数じゃないかなと思いますが・・・ framesetというのは、各フレームを包括するタグです。 <frameset> <frame src="frame1.html" name="frame1"> <frame src="frame2.html" name="frame2"> </frameset> やじるしこんな感じですね。 つまり、opener.parament.document.all.tags("frameset")[cnt-1]は 開いたページの中にある最期のフレームセットではないかなと推測します。 [cnt-1]はインデックス番号です。インデックスは0からカウントされるので、HTML上一番最後に出現するframesetのインデックス番号は[framesetの数-1]になるわけです。 で、本題の.setAttribute("rows", "*,100%")についてですが、要はこのframeset[cnt-1]の属性「rows」に「*,100%」を設定するという意味です。 つまりこれがセットされたタグを書いてみると、上記のタグが <frameset rows="*,100%"> <frame src="frame1.html" name="frame1"> <frame src="frame2.html" name="frame2"> </frameset> と言うことです。 こう書いた場合、frame1とframe2は縦並びになり、1段目のframe1の高さは余った高さ分になり、frame2の高さは100%になることになります。これはframesetの基本的なHTMLの記述方法なのでHTMLのリファレンスなど見ればすぐに分かると思います。 ご参考まで。
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
「*」はブラウザに計算させるような意味合いで、ウィンドウサイズと指定したサイズから決まってくる(残りの)サイズなどになります。 ご質問の例の場合は、rows属性の値を "*,100%" にしています。 詳しくは↓を http://w3g.jp/xhtml/dic/frameset
お礼
お返事遅れてすみません。 お答え有難うございます。サイトもあわせてみてみます。
お礼
お返事遅れてすみません。 なるほどフレームの数ではないのですね。とてもよくわかりました。 有難うございました。