• ベストアンサー

親フレームの中でずっと小フレームを展開させ続ける方法

自分でも既にフレームを使ったホームページを作成したのですが、 今回やりたいものはちょっと自分には複雑なので知恵をお貸しください。 まず、上下に2分割したページをindexページにします。 下はコピーライト表示のみでリンクタグはありません。 上がメインウィンドウで、ここからサイトの中に入ります。 そこから先はまた上下2分割のフレームページで、この上部のフレームにメニュー表示をしたいのです。この下部のフレームがメインウィンドウになります。 そして常に、メニューウィンドウからのリンクはターゲット属性の _parentを使い、indexで切っていた下のコピーライト表示は常に置いておきたいというものなのですが・・・・。 _parentを使ったリンクの事は、理解しているつもりです。 そしてその理解の上では、私がやりたいことは出来るはずなのですが・・・・。 始めに試してみたところでは、2番目の子フレームの上部の更に中だけでまたフレームページが展開されてしまいました。 次に試してみたところでは、_topと同じ使われ方をしてしまいました。 ファイルの置き方が悪いのか、フレームセットの組み方が悪いのか、 そもそも基本的なことを解っていないのではないかと想い、 どのように試してみたかを取りあえず置いといて、 最初から組み方を教えて頂けないでしょうか。 ちなみに、コピーライト表示だけの最初のフレームをずっと切ったままにしておきたいのは、賛否両論あるのは存じていますが サイトアドレスを統一して表示させたい為です。 そして最初のフレーム上部の中で更にフレーム展開させ続けながら _parent属性でリンクを張りたいのは、ずいぶん気持ちの中で折り合いをつけて、検索などからたどり着いた方の為に最低限メニューとメインのコンテンツを見てもらいたい為です。 申し訳ありませんがどうぞ、教えて下さい。

  • HTML
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

_parent ユーザエージェントは、指定文書を、現在のフレームの直接の親である FRAMESETに読みこまねばならない。この値は、現在のフレームに親フレームが存在しない場合、_selfと等価である。親フレームに対しての親フレームが存在しない場合、_topと等価である。 まず index がウィンドに単独でいる場合、index では _self, _parent, _top いずれも等価である。 ここ(index)でメイン MAIN100 とコピーライト COPY100 をフレーム表示という事で、 MAIN100, COPY100 の親フレームは index であるので MAIN100, COPY100 では _parent, _top いずれも等価である。 次に MAIN100 から MAIN200 を呼び出し MAIN200 でメニュー MENU210 とメイン MAIN210 をフレーム表示という事で、 MENU210, MAIN210 の親フレームは MAIN200 であるので MENU210, MAIN210 では _self, _parent, _top いずれも異なる。 で、操作・・・。 MAIN100 から各ページ(フレーム)へのリンクは _self か又はそのフレーム名か指定しない必要があります。 (BASE 要素で省略時の target 指定も可能なので注意) 当然そこで _parent, _top を指定すれば MAIN100 の親フレーム index は解除されます・・・。 MENU210 での操作は、たぶん MAIN300 というフレームを用意してそのフレームで MENU210, MAIN310 という組み合わせを表示したいのだと推測します。 その場合は、_parent か又はその親フレーム名を指定する必要があります。 と、ここまで記述した内容で実行して実現できない場合は、記述に誤りがある可能性も考えられます・・・。 とりあえず「ターゲット属性」なしで検証してみて、次に「ターゲット属性」に _self を指定して比較検証し変化がない事を確認の上で _parent, _top を順次指定してみて比較検証されてみる事をお勧めします。 (意外とリンク先が想定外だったり・・・)

参考URL:
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/types.html#type-frame-target
hachiko873873
質問者

お礼

出来ましたー!!解りやすい解説ありがとうございました! 同じように一回目にやっていたはずなのに、その時はなぜか出来ませんでした。なんでだろう。 indexページを <html> <head> 中略 <frameset rows="*,30" frameborder="NO" border="0" framespacing="0"> <frame name="main" src="main100.html"> <frame name="copy" scrolling="NO" noresize src="copy100.html" > </frameset> <noframes>中略 </html> とし、main100からmain200へ飛び、main200は <frameset rows="50,*" frameborder="NO" border="0" framespacing="0"> <frame name="menu" src="menu210.html"> <frame name="content" scrolling="NO" noresize src="main210.html"> </frameset> とし、menu210で操作しつつmain300では <frameset rows="50,*" frameborder="NO" border="0" framespacing="0"> <frame name="menu" scrolling="NO" noresize src="menu210.html" > <frame name="content" src="main310.html"> </frameset> としました。 ターゲットを_parentにしても、最初のindexのメインフレームの framenameである"main"にしても、どちらでもちゃんと動作しました!あー、よかった! ホントにありがとうございました!助かりました!

その他の回答 (1)

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.2

フレーム名を活用してはどうですか。 親ページ(index.html)でmainとcopyがあり、 子フレーム(main200.html)でmenuとcontentを指定していますね。 menuフレームのリンクでmain全体に表示したいのでしたら、target="main"でいいのではないでしょうか?

hachiko873873
質問者

お礼

回答ありがとうございます。 えっと、_parentでもフレームnameでもどっちでも出来ました! 私の中でどうしても_parentを使わなければいけないという観念があったのですが、ご指摘をいただいてフレームネームで指定した方が確実なのではないかと想い、フレームネームで指定する方法を採用させて頂きたいと思いました。 私の最初の組み方がきっとよくなかったのです。 そんなに難しいことではありませんが、ややこしいことに変わりはなく、ファイルが膨大になりディレクトリの作り方などが大変ですが、 ちゃんと理解が出来てよかったです。 target="main"でやってみようと思います。 どうもありがとうございました。

関連するQ&A

  • フレーム内のページ表示について

    メニューとメインでフレームのページを作っています。 メインページに直接訪れた人の為に、「メニューが表示されない場合はクリック」とフレームページのリンクを作ってあります。<A href="index.html" target="_top"> フレームページ(メニュー)は表示されるのですが、次にメニュー項目をクリックすると、全画面でメインページがでてしまい、またメニューが見えなくなってしまいます。 ふつうにフレームページ(index.html)を開いた場合は、ちゃんとメインフレーム内に各ページが表示されるので、なぜメインページのリンクからだとそれができないのかがわかりません。 フレーム名はメニュー=menu メイン=mainとして、メニュー各項目のリンクは<A href="001.htm" target="main">としてあります。 説明が下手でごめんなさい。よろしくお願いします。

    • ベストアンサー
    • HTML
  • 固定フレームのついたフレームページにリンクするには?

    メモ帳でホームページを作っています。初心者です。 メニューページにはフレームを使わず、 コンテンツ用ページを二つのフレームを使って、上部に各コンテントファイル、下部にメニュー(各コンテント名を一覧表示)が表示されるようにしています。下部フレームは固定フレームにしたいと思っています。 メニューページで各コンテント名をクリックしたとき、 上部にそのコンテントファイル、下部に固定メニューファイルの表示されたフレームページへリンクさせたいのですが、この方法がわかりません。 初めは、フレームページにアドレスを付けてリンクすればいいのよねー、と試みたのですが、そうすると全てのフレームページ、つまり上部フレームにそれぞれのコンテンツファイルが表示され、下部にメニューファイルが表示されたフレームページのひとつひとつにアドレスをつけないと、リンクできないのでは?と疑問がわきました。 しかし、それではフレームページの固定メニューファイルの各コンテント名をクリックしたときに、上部フレームにはコンテンツファイルのみでなく、各コンテンツのフレームページが表示されてしまい、下部の固定フレームが増えていって(泣)変なことになってしまいますよね。 フレームページ間のリンクは、その固定フレームの各コンテント名のtargetを上部フレーム名にすればよいので問題ないのですが・・・。 メニューページもフレームページにすれば解決するでしょって感じですが^_^;、メニューページには各コンテント名が載せてあるのに下にも同じ項目を並べるのはくどい気がして、ちょっと・・・と思いまして。 ご存知の方よろしくお願いします!

    • ベストアンサー
    • CSS
  • 別フレームへのリンク設置方法を教えてください

    縦長のページの上部に<iframe>下部にも<iframe>で設定している サイトの上部<iframe>内の1テキストリンクをクリックすると、下部のフレーム内で展開される該当ページにリンクが飛び、上部の画面はそのままで、下部のフレーム内のページが変わる設定を調べておりますが、なかなか希望の情報にリーチできません。 普通にファイル名でリンクさせると、フレーム内のページが、フレームから飛び出して表示されます。(そりゃ当然ですよね)。何とか、 上部のフレーム内の各リンクをクリックすると、下部フレーム内のページが展開し、上部、下部同時に見れるページを制作したいのですが、どなたかご教授いただけますと、幸いです。宜しくお願いします。

    • ベストアンサー
    • HTML
  • フレームの中のフレームを指定する方法

    トップページにはFrame1、Frame2を作りました。 Frame2のリンク先の中にFrame3、Frame4があります。 parent.Frame○.document.・・・ という関数を使うと、片方のフレームから指定したフレームの作業を行うことができるのですが、Frame1からFrame2の中にある、Frame3を指定してうごかしたいのですが、 Frame1にparent.Frame3.document.・・・と指定しても うごかすことができません。 フレームの中のフレームを動かすにはどうしたらよいのでしょうか?

  • メインフレームの中に入れ子でフレームページ

    メニューをクリックするとメインフレームの中に、更にフレームのページを入れるような場合、 最初のメインメニューでクリックした時は、中に入れ子のように上手く表示されてるのですが その入れ子の中のフレームの左のメニューをクリックすると 二つメインフレームが存在してしまうせいか、入れ子の中のメインではなく TOPのメインフレームに覆いかぶさるように用事されてしまい 入れ子の中のメニューが無くなってしまい困っています。 ※入れ子の中でparentのように表示されてしまいます。 TOPのフレーム(右メインメニューフレームとメインフレーム)表示も残しつつ、 入れ子の中の(右サブメニューとメインフレーム)表示も残すのはどうしたらできるのでしょうか? 教えてくださいm(__)m

  • Frame Out

    こんにちわ。 ある人のホームページに私のリンクがあるとします。 その人のページはフレームで出来上がっていて メニューのページとメインのページにわかれています。 メインのページにリンクがあって、そのままリンク で飛ぶと、そのフレーム内で私のページがのこってしまいます。 長くなってしまいましたけど。。 そこで、りんくをクリックして フレーム アウトしたいのですが、(つまりフレーム内ではなくて スクリーン全体に私のページを表示させたい。) どうしたらいいのでしょうか?

  • ビルダー5.0 フレームのリンクの仕組みを教えて下さい!

    現在作っているホームページは、左側にメニュー項目をつねに表示させながら、その項目をクリックすると、右側のメインのページで確認できるような作りになっています。 そこで、左側のメニューの中から、リンクしたい項目を範囲指定→リンクの挿入でファイルにリンクしたいページを指定したいのですが・・・ 今まで、一ページ作り終えるごとに、左側、右側とその両方の計3ページを保存してきました。 その中の、どれにリンクをつないだらいいのでしょうか? どうしてもうまくできなくて、右側のメインページにもうひとつのメニューとメインページが同時に出てきてしまったり、メニュー画面が消えてしまったりするので困っています。 また、購入した本では、「ターゲット」ドロップダウンリストで新しいウィンドウ、同一ウィンドウ、親ウィンドウ、全画面の下に、更にcontentsとmainという項目が選択でき、その右側にフレームの位置を表す絵が表示されているのですが、私のそのリンク先のファイル選択の画面では、それがありません・・・ 「ターゲット」にある4つのウィンドウについての解説もしていただけると、とても助かります・・・ 初心者の質問でごめんなさい。 ご回答お願いします。

  • フローティングフレームへのリンクの貼り方を教えて下さい。

    フレームを使い、ページをニ分割(メニューとメイン)し更にメインのページ内にフローティング機能を使用したいのですがフレーム(メニューページ)からメインページのフローティングフレーム内へリンクを貼る方法を教えて下さい。

    • ベストアンサー
    • HTML
  • フレームありのページからフレーム無しのリンク

    フレームで左右や上下に分かれていた場合、フレームで分かれていないページへリンクするとそのフレーム内へ表示されるとおもうのですが、これをフレームの無い状態にして表示するにはどうしたらいいのでしょうか? たとえばメニューと内容で左右に分かれていたとして、メニューの中にトップへ戻るなどとしたときにメニュー側のフレームへトップページが表示されるのではなく、フレームを取っ払って一画面で表示したいのです。

    • ベストアンサー
    • HTML
  • フレームの中のフレーム

    フレームを使用したサイトを作っています。 メニューとそれの表示部分とありますよね? その表示部分内にメニューから選択すると新たにもう一つのフレームページを表示させたんです。 二つ目のフレームでターゲットを指定した場合、二つ目のフレームページ編集時では問題はなくターゲット指定したページだけが変わるのですが、ベースのフレームページから選択していくと、ターゲット指定しているのにもかかわらず二つ目のフレームだけ全画面表示になってしまうんです。 説明が滅茶苦茶ですみません。 何が問題でそうなってしまうのでしょうか? 判る方、教えていただければ幸いです。

専門家に質問してみよう