HPを2つのフレームを使って作成したのですが、
1つはメニューの左フレームで、もうひとつはそれを表示する右フレームです。
<FRAMESET COLS="1*,4*">
<FRAME SRC="left.html" NAME="left">
<FRAME SRC="right.html" NAME="raight">
</FRAMESET>

例えば、メニューの左フレームの中から日記という項目をクリックすると、
右フレームに日記の内容が表示するようになっております。

そこで、右フレームに日記が表示されているときに更新をすると、
右フレームがトップに戻ってしまいます。
全部そうなってしまいます。

更新をしても、その時表示していたものを、
表示させておくにはどうすればいいのでしょうか?

宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (8件)

まずはじめに回答ではないことをお詫びいたします。



投稿者の方と同じ質問をしようとし、過去ログを検索
したら最も近いものが見つかった為便乗させて頂きました。

私なりに調べた結果は

・ANo.#3ではできなかった
・ANo.#4のURLは私の希望する挙動をしている
・JavaScriptでボタンを作ってやると成功する

というところまではわかりました。

JavaScriptでボタンを使えば最も手軽に解決できることは
わかっているのですが、
私自身、様々なHPで更新ボタンがあってもブラウザの更新ボタン(というかF5)
をよく使うので閲覧者の視点からみたらブラウザの更新ボタン
を使いたいのでJavaScript以外の方法を探しております。


以下環境
IE6.0 SP1
win2000 SP3
フレーム制御ページのソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS">
<TITLE>てすと</TITLE>
</HEAD>
<FRAMESET COLS="125,*">
<FRAME SRC="menu_frame.htm" NAME="menue_frame" FRAMEBORDER="1" TARGET="main" SCROLLING="auto" NORESIZE>
<FRAME SRC="main.htm" NAME="main" FRAMEBORDER="1" SCROLLING="auto" NORESIZE>
<NOFRAMES>
<META HTTP-EQUIV="refresh" CONTENT="10;indexl.html">
sorry this web page use frame
</NOFRAMES>
</FRAMESET>
</HTML>

(METAタグはANo.#3を参考に書いてみました。
ちなみにMETA記述はあってもなくても希望の挙動は
得られませんでした。)
    • good
    • 0

回りくどい方法ですが、


左フレームにある「日記」をクリックした時、
ターゲットを親ウインドウにし、
日記専用のフレームを読み込んではいかがでしょうか。

通常使っているフレームセットの複製をつくり、
<FRAMESET COLS="1*,4*">
<FRAME SRC="left.html" NAME="left">
<FRAME SRC="日記.html" NAME="raight">
</FRAMESET>

という感じで読み込みます。

この場合、コンテンツの量だけ、フレームセットも作らなくては
ならなくなり、またリンクページを読み込むたび、
左フレームも読み込みなおしますが、
リロードをしたときに期待した結果は得られると思います。
    • good
    • 0
この回答へのお礼

うーん、確かにそうすると期待した結果にはつながると思いますが、
やはりこのような方法しかないのでしょうか?

もうちょっとシンプルなものでは無理なのでしょうか?

お礼日時:2001/07/16 19:18

思っておられるとおりかどうかはワカリマセンが、


ブラウザの更新でリロードされると、右フレームがトップに戻る、
ということですよね?
加えて、右フレームに表示されているものは、日記とは限らないわけですよね?
その右フレームで表示されている、何かのコンテンツのページを開いている状態で、
リロードをしても右の状態が保たれたまま・・・と言うことですよね?
これは、フレームをセットしているHTMLファイル自体を読み込むので、
フレームをセットしているHTMLファイルに書いてあるページが表示されるのは当然のとです。
ブラウザのリロードは、「戻る」や「次へ」と違って、
前のページの情報をもっていないので、仕方のないことだと思います。
ブラウザのリロードしても、ページの状態が変わらないのであれば、
ブラウザにリロードボタンがある意味がないと思うのですが。。。
なぜ、その時に表示させていたものを表示したままにしたいのでしょうか?
目的によっては方法があるかもしれません。
    • good
    • 0
この回答へのお礼

まったくその通りです。

>なぜ、その時に表示させていたものを表示したままにしたいのでしょうか?
深い理由はありません。
でもたまに、違う人のフレームを使ったHPを見ていて、
更新をするとその時表示されてたものが、そのまま更新されて表示されます。
いくら自分のページでやってもそうならなかったので、
気になったというのもありますし、自分のHPもそうしたいと思いました。

お礼日時:2001/07/16 19:06

すみません。

また novaakira です。

ん~、たしかに僕も自分のHPをフレームにして
更新をするとトップに戻ってしまいますね。

なぜそうなるかは.....
過去の質問の回答をみるとわかります。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=67922

どーやらちょっと無理だそうです。でもなんでできるところと
できないところがあるのかはしりません。
ほかに知りたいのならここのページの質問検索にフレームと
打ち込んでみてください。

NORESIZEってのはただフレームの幅を固定するためだけ
だそうです。
実は、 ~kyudo/***** のやつは僕が作成したやつなんです。
あのHPもほとんど。

あそこでできたからほかでもできるのかなって思っていました。

助けにならずすみませんでした。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=67922
    • good
    • 0
この回答へのお礼

なぜ、この前のページ
>http://kyudo.taiiku.tsukuba.ac.jp/club/
>http://www.tuat.ac.jp/~kyudo/yotei/yotei.htm
で出来て、私のページではできないんですかね?

お礼日時:2001/07/16 19:15

こんにちわ。

またnovaakiraです。

ちょっとみてもらいたんですけど、

http://kyudo.taiiku.tsukuba.ac.jp/club/

http://www.tuat.ac.jp/~kyudo/yotei/yotei.htm

へいってみて、もらいたいのですが、
これらのページへいって、別のページを開いて、
更新をしたらどうなるか教えてください。
    • good
    • 0
この回答へのお礼

>http://kyudo.taiiku.tsukuba.ac.jp/club/
>http://www.tuat.ac.jp/~kyudo/yotei/yotei.htm

両方試してみました。

このページでは、ちゃんとその時フレームに表示されていたものが、
更新ボタンを押しても表示されました。

お礼日時:2001/07/12 11:45

こんなのはどうでしょう?



<FRAMESET COLS="1*,4*">
<FRAME SRC="left.html" NAME="left" NORESIZE>
<FRAME SRC="right.html" NAME="right" NORESIZE>
<NOFRAME>
<META HTTP-EQUIV="refresh" CONTENT="10;right.html">
このページはフレームを使用しています。<BR>
10秒後に目次ページへジャンプします。
</NOFRAME>
</FRAMESET>

なんて感じにしてみては?
一応フレーム未対応の人のためにもページが見れるように
しておきました。
これでできなければすみません。
    • good
    • 0
この回答へのお礼

試してみたのですが、ちょっとうまくいかなかったです。

お礼日時:2001/07/10 12:53

こんばんわ~


ちょこっとアドバイスです。

フレームを使ってページを構成するとアドレス(URL)は
フレームを読み込むHTMLファイルに固定されちゃいますよね。。。
なので更新ボタンを押すと、もう一度フレームで指定したページを読み込み
直してします。

と言うことで、もし質問のようにしたいのならページ内に
更新ボタン(っぽいもの:開いているページへのリンク)などを作るか
inoue64さんが言ってるようにJavaScriptと、Cookieを
使うかになるようですね。。。
    • good
    • 0
この回答へのお礼

やはり、JavaScriptと、Cookieですか。
よく分からないので、駄目でした。

お礼日時:2001/07/10 12:52

JavaScriptと、Cookieを使えばできるかもしれません。



参考URL:http://tohoho.wakusei.ne.jp/wwwcook.htm
    • good
    • 0
この回答へのお礼

そうなのですか。
ちょっと調べてみたのですが、よく分かりません。

できればサンプルをのっけて欲しいのですが。

お礼日時:2001/07/10 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qで出る枠

を消すにはどうしたらいいのでしょうか?

Aベストアンサー

<a><img src="x.gif" border="0"></a>
で大丈夫だとおもいます。

Qブラウザ依存?へ飛ばない

ブラウザ依存でしょうか?・・・

<li class="yyy"><a href="hoge.html#xxx">ホゲ</a></li>
と記述しているリンクをクリックして、URLは
http://hogehoge.com/hoge.html#xxx
へ移動するのですが、
hoge.html内に
<a name="#xxx" id="#xxx"></a>
と記述している指定箇所に飛んでくれません。

IE7は正常に飛んでくれますが、
Firefox, Safari, Opera, GoogleChromeなど、
IE7以外のブラウザを用いると飛んでくれないのです。

この機能はIEだけの機能だったでしょうか?
ご存知の方がいましたら、ご教授いただけると幸いです。
よろしくお願いします。

Aベストアンサー

>同html内で、例えば、ページ上部に飛ばす場合は、
><a href="#pagetopr">ページ上へ↑</a></p>
>のように#付きで問題なく動作しているので、
>別htmlの場合、#を付けないということですね。

「#」は続く文字列がid値であることを明示します。
同html/別htmlは関係ありません。


・飛び先となる要素にはid値を書きます。
 <タグ id="xxx">

 →「id=」と書いているので、さらに「#」を付けて
  「これはid値ですよ」と明示する必要はありません。
 

・リンクのhrefには"#"+id値を書きます。
 同html <a href="#xxx">
 別html <a href="hoge.html#xxx">

 →「xxx」だけではパスの一部と認識するので
  「#」をつけて「これはid値ですよ」と明示します。
 →hrefにページの指定が無いなら(同html)、
  同html内の「xxx」というid値の要素へ移動します。
 →hrefにページの指定があるなら(別html)、
  指定html内の「xxx」というid値の要素へ移動します。

>同html内で、例えば、ページ上部に飛ばす場合は、
><a href="#pagetopr">ページ上へ↑</a></p>
>のように#付きで問題なく動作しているので、
>別htmlの場合、#を付けないということですね。

「#」は続く文字列がid値であることを明示します。
同html/別htmlは関係ありません。


・飛び先となる要素にはid値を書きます。
 <タグ id="xxx">

 →「id=」と書いているので、さらに「#」を付けて
  「これはid値ですよ」と明示する必要はありません。
 

・リンクのhrefには"#"+id値を書きます...続きを読む

Q~の中に書く場合。

<link rel="stylesheet" type="text/css" href="common.css" media="all">は、普通<body>~</body> に記述しなければなりませんよね?ただ、使用しているソフト(会社指定で変更不可)が<head>~</head>の中がいじれません。そこで苦肉の策で、bodyの中に書いてみたんです。すると普通に適用されるんで、ラッキーと思ったのですが、これって実際大丈夫なんでしょうか??
後々まずいことになったらイヤなのでどなたかこの件詳しい方教えてください。よろしくお願いします。

Aベストアンサー

ブログなど、<head>を変更できないところでは使われる手法だと思います。
理由はわかりませんが、OKWaveでも、昔、使われていました。

文法を絶対視するのであれば当然NG、デザインもあきらめるしかないと思いますが、
ブラウザの独自仕様を良しとするのであれば、OKでしょう。
もちろん独自仕様ですので、スタイルシートが適用されないブラウザもあるかも知れません。
ブラウザの仕様変更により、アップデートで期待通り表示されなくなる可能性もありますので、
お勧めは出来ませんが、それしか方法がなければその方法を使うしかないんじゃないでしょうか。

Q

が場所をとってしまい表示スペースに空白ができてしまい配置が乱れてしまいます
どうしたら'hidden'のサイズが0であるかのように振舞わせることができるでしょうか?
テーブルの中に使っているのでテーブル枠が不必要に広がってしまいました
折り返しが起こりtrの高さが増えてしまったのです

Aベストアンサー

タグの前後で改行している(<br>タグではなくソース上で)、ということはありませんか?
もしそうなら削除してみてください。

Q親ページからインラインフレーム内のリンクへ飛ばしたときのIEの動きについて

例えば、IEで

<html>
<head><title>index.html</title>
</head>
<body><center>
<p style="margin: 100px auto 50px auto">サンプル</p>
<p><a href="a.html#a" target="frame">リンク</a></p>
<iframe src="a.html" width="640" height="500" name="frame" style="margin-bottom: 400px">
</iframe></center>
</body>
</html>

というソースのindex.htmlに、

<html><head><title>インフレーム・a.html</title></head>
<body><p style="margin-top: 500px">余白</p>
<p><a name="a">NAME A</a></p>
<p style="margin-top: 500px">余白</p>
</body></html>

というソースのa.htmlというファイルをインラインフレームで読み込み、
index.htmlの「<p><a href="a.html#a" target="frame">リンク</a></p>」をクリックした場合、
インラインフレーム内のa.htmlの「<p><a name="a">NAME A</a></p>」がブラウザの一番上に表示されるよう、
index.htmlのページ全体が上に動いてしまいますよね。
これを、(同じものをOperaで動作させたときのように、)
index.htmlのページ全体ではなくインラインフレーム内のa.htmlだけが
動くように表示させたいのですが、何かいい解決策はあるでしょうか?

最初はIEのバグかと思ったのですが、FirefoxでもMozillaでも
同様なので、Operaの解釈のほうが特殊なのかもしれませんが…。

例えば、IEで

<html>
<head><title>index.html</title>
</head>
<body><center>
<p style="margin: 100px auto 50px auto">サンプル</p>
<p><a href="a.html#a" target="frame">リンク</a></p>
<iframe src="a.html" width="640" height="500" name="frame" style="margin-bottom: 400px">
</iframe></center>
</body>
</html>

というソースのindex.htmlに、

<html><head><title>インフレーム・a.html</title></head>
<body><p style="margin-top: 500px">余白</p>
<p><a name="a">NAME...続きを読む

Aベストアンサー

HTML をまともに書いてそれであればどうしようもないと思います。
多分仕様でしょう…。


このカテゴリの人気Q&Aランキング

おすすめ情報