皆さん、こんにちは。Blackwinglsです。
フレームの読込み順で困っています。
index.htmを以下のようにし、
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="a.htm" name="up" scrolling="no">
<frame src="b.htm" name="down" scrolling="no">
</frameset>
a.htm、b.htmを読んでいますが、a.htm内に
<script language="JavaScript">
<!--
document.write(parent.down.myForm.word.value)
//-->
</script>
のscriptを記述すると、当然まだb.htmは読み込まれていないのでエラーが最初の一回だけ出てしまいます。
a.htmはフレームの上部に表示したいので、
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="a.htm" name="up" scrolling="no">
<frame src="b.htm" name="down" scrolling="no">
</frameset>
の順は変更したくありません。
なんとか、先にb.htmを読み込ませて下部に表示させる方法はないものでしょうか?
No.2ベストアンサー
- 回答日時:
フレームの読み込み順は、決まっていません。
だから、a.htmlが先に読み込まれることもあれば、b.htmlが先に読み込まれることもあります。
どういう時にどちらが先に読み込まれるかという条件もありません。
(たぶん、どちらが先にhttpをつかんだかという問題でしかないと思います)
ただ、JavaScriptである程度制御することは可能です。
例えば、
1.指定のフレームが読み込み完了するまで、setTimeoutで待つ。
2.指定のフレームが存在する、という判定が返るまで待つ。
3.指定のフレームを参照するフレームを、数秒遅らせて読み込ませる。
等です。
ただ、基本的にフレーム割りのサイトを作成する場合、「片方のhtmlが読み込まれていること」を前提に作るのは、HTMLの仕様上無理があると思います。
JavaScriptは全部の人が使用できる物ではないですので・・・。
ひとつ使えそうなサンプルの載っているサイトがありましたので、載せておきますね。
ご参考までに。
参考URL:http://www06.u-page.so-net.ne.jp/wa2/mugi/js/
アドバイスありがとうございます。
参考URLは非常に為になりました。
昔、closed関係で悩んだ時、似たような手法を使ったことがあったのですが、今回この参考URLを見るまで、きれいに忘れ去っていました(^^;)
本当に助かりました。
> 、「片方のhtmlが読み込まれていること」を前提に作るのは、HTMLの仕様上無理があると思います。
本来はhtmlファイルはcgiで書き出す予定になっているそうですので問題はないと思うのですが、動作イメージを見てもらう為、今回このような形でやるハメになってしまいました(^^;)
ありがとうございましたm(__)m
No.1
- 回答日時:
はじめまして。
novaakiraです。質問にかかれているような条件で動作させたいのであれば....
たとえば、
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="xxx.htm" name="up" scrolling="no">
<frame src="b.htm" name="down" scrolling="no">
</frameset>
として、xxx.htmの内容を、
<html>
<meta http-equiv="refresh" content="5;url=a.htm">
</html>
(動かない場合は<meta>タグを<head>タグ内に入れてください。)
とすれば、index.htm自体はxxx.htmとb.htmを呼び込み、
xxx.htmは5秒後にa.htmに転送されるのでご希望のとおりになる
はず........です。
回答、ありがとうございます。
これは・・・・、ちょっと思い付かなかったです(^^;)
基本といえば基本ですよねぇ。
灯台もと暗し、というか・・・・(笑)
そうか~、ワンクッション入れれば問題は解決だったのかぁ~。
俺ってかなりトンマでしたねぇ。
今回はJavaScriptを使用する方法で解決しましたが、次回に試してみたいと思います。
ありがとうございましたm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLファイルの置き方による読...
-
どのページもすべて同じURLなの...
-
フレーム分割した全体をスクロ...
-
URLを変えないで表示する方法
-
フレームで指定している送信先...
-
スタイルシートで背景画像を固...
-
HPの一部に他のHPを表示
-
リンクの禁止事項の意味を教え...
-
fc2ホームページでフレームページ
-
インラインフレーム内のマウス...
-
スクロールできない
-
フレームで背景画像を継ぎ目な...
-
ホームページの写真が表示されない
-
リストの項目を隠す/表示する方...
-
HPのアップロード
-
、URL化させるにはどうしたらい...
-
Excelで、社外秘(閲覧のみ)と...
-
HTMLからフォルダを開きたい
-
Dreamweaverでページ全体が文字...
-
form action="#"
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フレームの片方だけを更新(リロ...
-
pythonのエラーについての質問...
-
どのページもすべて同じURLなの...
-
2つのページを重ねたい
-
フレームが表示されない><
-
スクロールできない
-
スタイルシートで背景画像を固...
-
ブラウザで4分割表示できますか?
-
フレームページが表示されない...
-
WordファイルをHTMLに埋め込む方法
-
html 左メニューから右への表示...
-
CSSを使って画像をクリックする...
-
上下フレーム分割ページでプル...
-
URLを変えないで表示する方法
-
フレームの表示と非表示の切り替え
-
フレームあり、なしの違い
-
フレーム内に画像を表示する際...
-
違いを教えてください?
-
左フレームからのリンクを右フ...
-
インラインフレームへのリンク...
おすすめ情報