あるサンプルjavascriptを見ていて何をしているのかよく分からなかった箇所について教えてほしいと思います。
コードは下記になります。
親画面→子画面を呼び出して、子画面のボタンを押下すると親画面のメインフレームを更新します。
下記は子画面のボタン押下時のjavascriptに記述されています。
opener.parament.document.all.tags("frameset")[cnt-1].setAttribute("rows", "*,100%")
※ cntはframesetの数が設定されているようでした。
フレームは4つあり、上下左右の構成です。
自分なりに調べた感じでは親画面の一番下のフレームの幅を変更するような記述にみえました。
ただ"*,100%"の記述が何を意味するのかがよくわかりません。幅といっても画面自体なのか、他のフレームとの幅の比率なのか・・・。
実際に色々値を変えて動かしてみたのですが、何が変わっているのかよくわかりませんでした。
もしよろしければどなたか教えて頂けないでしょうか。
No.1ベストアンサー
- 回答日時:
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のリファレンスなど見ればすぐに分かると思います。
ご参考まで。
No.2
- 回答日時:
「*」はブラウザに計算させるような意味合いで、ウィンドウサイズと指定したサイズから決まってくる(残りの)サイズなどになります。
ご質問の例の場合は、rows属性の値を "*,100%" にしています。
詳しくは↓を
http://w3g.jp/xhtml/dic/frameset
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- iOS Windows OSにおける、ショートカットキーを受け取るソフトウェアの決定 5 2022/11/27 16:05
- Windows Me・NT・2000 パソコン終了 4 2022/05/09 09:05
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/21 16:01
- HTML・CSS CSS の疑問です 1 2023/02/15 18:13
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
- モニター・ディスプレイ Displayport接続時にディスプレイ設定の一部の項目がチラついて変更できない 3 2022/07/31 10:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他のページ更新
-
フレーム分割領域のサイズを変...
-
セレクトメニューでリンクの際...
-
複数フレームで「戻る」ボタン...
-
Javaでテトリスを作っています。
-
同期をとる
-
JavaScriptでできない事がある...
-
"rows", "*,100%"って何の記述?
-
スマホ上で、左右スワイプで次...
-
フレーム分割表示について
-
<a href="#" …>の意味を教えて...
-
UAによるリダイレクト
-
外部読み込みで動かないときの...
-
Cookieの回数で閲覧制限、javas...
-
色の指定で配列を使いたい
-
DOMで生成したタグにCSSが適用...
-
小ウインドウのスクロールバー
-
javascriptでalertの文字列をコ...
-
CGIフォーム一定時間過ぎる...
-
ページによって表示位置がずれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
インラインフレームで表示され...
-
インラインフレームをドラッグ...
-
HTMLでサブフレームから親のス...
-
フレームを跨ぐドロップダウン...
-
jqueryを利用してインラインフ...
-
別ページのインラインフレーム...
-
親ウィンドウの別フレームを子...
-
openerは使えないのでしょうか?
-
フレーム内のiframeのデータの...
-
エラー:書き込みができません ...
-
ブラウザのURLアドレス文字表記...
-
フレーム分割領域のサイズを変...
-
フレームで隠れるポップ
-
フレームのあるHPでプルダウン...
-
別フレームのページが読み込み...
-
HTMLフォームボタンによるター...
-
URLを引数とし、フレーム間で渡...
-
JavaScriptでできない事がある...
-
他のページ更新
おすすめ情報