人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ホームページ制作のフレームセットタグについて質問です。リロードをかけた際、メインフレームに表示されているページが表示されたままリフレッシュする場合(TOP以下の階層)と、TOPページにしているページをメインフレームに表示してしまう場合とがあります。現在、後者になってしまい、困ってます。できれば、前者のようにしたいと思いますが、法則とかタグの記述方式などあれば教えてください。解説付ですと嬉しいです。

●質問者: chinya
●カテゴリ:コンピュータ 芸術・文化・歴史
✍キーワード:TOP タグ フレーム ホームページ制作 メインフレーム
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● goba8
●15ポイント

http://selfhtml-jp.teamone.de/html/frames/definieren.htm

http://tohoho.wakusei.ne.jp/html/frameset.htm

http://tohoho.wakusei.ne.jp/lng/199906/99060220.htm

質問の意味がわかりかねたのですが、こんなようなことでしょうか?

◎質問者からの返答

フレームセットの大きな”くくり”で参考になります。ありがとうございました。


2 ● masaomix
●30ポイント

http://tohoho.wakusei.ne.jp/html/frame.htm

えーっと、ご質問の内容はわかります。

私もよくこれは経験します。

で、こうしたブラウザの画面更新時の動作なんですが、

これはHTMLの記述方法によって決まるんじゃなくて、

ブラウザの動作によって決まってきちゃうんです。

ブラウザの種類により差異がありますし、

私も全てのブラウザの細かい仕様まで知っているわけではないので

あまり確定的なことは言えないんですが、

どうも直前の状態を読み込んで再描画しているか、

全ての情報を破棄して新しく読み込み直しているか、

あるいはフレームページのどこにフォーカスがあるか、

といった諸事情によって、このへんの動作は随分変わってくるみたいなんです。

そんなことを考えると、ブラウザの操作によってページを更新した時に

必ず直前のフレーム内容を保持させる、という書き方をすることは、

読み出し側がどういう条件でページ更新をするかわからない以上、

原則不可能・・・・ということになってきちゃうわけなんですよね。

ご紹介したページをご覧いただけばわかるように、

フレームタグにそういった動作を記述できる余地はありません。

それでもページ更新の際に必ず直前のフレーム内容を保持させたい、

というのなら、ページ内に更新のリンクやボタンを用意して、

ブラウザの操作をしなくてもリロードが出来る、

という方式を採るのが一番スマートでしょう。

最も簡単なのは、各フレーム内のページに

自分のページに対するリンクをtarget指定せずにつけておくことです。

たとえばpage1.htmlというページには、

<a href=”page1.html”>Reload!!</a>

なんていうリロード用リンクを付けておくわけですね。

これをクリックしてもらえば、

どんな条件下でもそのページのみが再読込されて、

他のフレームの内容は保持され変わらないまま、となります。

リロード用に何か可愛いアイコンでも用意しておけば、

きっと目をひいて、みんなそれを使ってリロードしてくれるようになるでしょう。

こうした動作は、特にページ内に画像を多用する

素材屋さんなんかによくある希望ですよね。

HTMLの仕様内で実現できない要求は、別のやり方でクリアする。

このへんのアイデアのひねり方が、

Webデザインの大切な勘所になってくると思います。

なお、javascriptを使うとフレーム内容がかなり細かくいじれるようになりますが、

あまり複雑なことをやりすぎると

またブラウザによって動作が変わってきたりしますから、

単純に単純に、どんなブラウザでも、

どんな設定状況でも通用するような素朴なやり方を見つけて設計していくこと。

これまたコツのひとつだと思います。

そんなあたりも考えながら、いいサイト、作ってくださいね(^-^)/

◎質問者からの返答

とてもご丁寧な回答をいただき、本当にありがとうございます。

今回、質問させていただいているのは、ユーザー側からの突っ込みよりも、サイト上で情報を提供する私のクライアント対策なんです。

「キャッシュ等で修正箇所が直ってない!」と指摘された時、再読込してくださいとお願いするのですが、再読込させた際、TOPページが表示されてしまうと、「なんで?」とまた面倒臭い指摘をされそうなので…

ですので、私の質問の意図は、ユーザー側にリロードを期待するのではなく、クライアント対策なのです。。。

本当に面倒臭い話です。

昨日からいろいろと試行錯誤を繰り返す状態ですが、同じコンテンツを2台のサーバで試してみました。

あるサーバでは表示したページを保持しつつ、リロードする場合と、TOPページに戻ってしまう場合がありました。

不思議な状態です。

ということは、サーバーのせい?と思ってしまいます。

しかしながら、前者のサーバでも、他人の作ったサイトで前者と後者の差異も見られました。

ということは、もしかしたら方法はまだあるのかもしれません。

もっと詳しい情報をお待ちします。

masaomixさん>

本当にご丁寧なご回答、ありがとうございました。


3 ● sasada
●15ポイント

http://www.srs.ne.jp/~north/netdaemon/httpd_conf.html

NetDaemon: Default httpd.conf Directives

>KeepAlive On

>接続を切らずに保持するよう指定する。

>KeepAliveTimeout 15

>KeepAlive の保留時間(秒)。

サーバー側の設定についての話です。

Webサーバーの側の設定でKeepAliveを設定していると、接続が保持されている間は現行のフレーム状態で再読み込みがかかることもあるようです。

KeepAliveの設定がないか、接続が切れているときは(アドレス欄の)トップページが表示されてしまいます。

とりあえずの対策としては、(限度はあるものの)KeepAliveTimeoutを長めに取ることでしょうか。

◎質問者からの返答

やはりサーバに依存してしまうのでしょうか…?

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ