• 締切済み

フレームについて教えてください。

すみませんが、教えてください。 フレームを使ったHPを作っているのですが、 ブラウザの更新ボタンを押すと、フレーム内のページがトップページに戻ってしまいます。 ブラウザの更新ボタンを押しても、表示中のページを維持するにはどうすれば、良いのでしょうか? ちょっと調べたところ、ブラウザの更新ボタンを押したときの反応は、サーバーの設定によって皮ってくるようなのですが、理解できませんでした。 以上、よろしくお願いいたします。

みんなの回答

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

2chのシステムってどんなものか知らないのですが(見れないので) PHPなのだとすると、基本的なwebページのつくりとしては、 top.php の中に <frameset> <frame menu.php> <frame content.php> </frameset> があるはずですよね。 menu.php内のコンテントがクリックされた時に、 そのコンテントIDをクッキーかセッションに保持しておいて、 内容を表示するロジックにしておけば、 リロードされた時にセッション内の情報をみれば、 最後に表示していたコンテントがわかりますから、 そのコンテントの内容を、content.phpの中で「動的に生成して」 表示してあげればよいのではないでしょうか? PHPを使ったりして、動的にWEBの表示内容を変更できるのであれば、 あらかじめ用意しておくHTMLファイルは事実上空っぽでよいと思って いますが、違いますか?

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

HTMLのカテゴリーなので、CGIやサーブレットを使っていないものとすると、 普通に考えれば、サーバからクライアントへ送信されるヘッダ設定がno-cache や expire 0 になっていたら 普通にHTMLを再読み込みしますから、静的に書かれたページに飛んでいくので、初期画面になってしまいますね。 サーブレットやCGIなら動的にページの内容を書き換えられるので、飛び先も自由にできますが。 クライアント側で「最新ページの確認をしない」とか「常にキャッシュを使用」とかそんな設定にすればいけるかもしれません。

xyz_1990
質問者

お礼

ご回答ありがとうございます。 phpを使っているのですが、htmlのみの場合でも同じ現象がでます。 2chのように、フレームの情報が保持したいのですが。。。 http://www2.2ch.net/2ch.html 環境は、レンタルサーバーで、.htaccessは使えません、php.iniは設定可能です。

noname#39970
noname#39970
回答No.1

サーバの設定とブラウザの挙動と思われる。 JavaScriptを用いてフレーム内のみ(_topを含まない)をreloadするような物を作成して設置しておくしかないのかも

xyz_1990
質問者

お礼

ご回答ありがとうございます。 >JavaScriptを用いてフレーム内のみ(_topを含まない)をreloadするような物を作成して設置しておくしかないのかも 一応、そのような処置は取っているのですが、 ブラウザの更新ボタンを押したときの挙動に違和感が残ってしまいます。。。

関連するQ&A

専門家に質問してみよう