• ベストアンサー

HTMLフレームセット中のNAMEタグにリンクしたいのですが。

あるドキュメントから、AB2つのドキュメントからなるフレームセットのBのなかのNAMEにジャンプしたいのですが、方法がわかりません。 ずぶの素人の、ぼくの知識では、フレームセット自体にリンクするか、BのNAMEにリンクすることしかできません(フレームが開かない!)。 フレームを表示した上で、BをNAMEの位置までスクロールして表示したいのですが、どうすればいいのでしょう。

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

  • ベストアンサー
  • nana_ko
  • ベストアンサー率19% (89/467)
回答No.5

私の経験上ですが、残念ながらHTMLだけでは単一の頁から2分割のフレーム頁の片方に位置指定をしてリンクを飛ばすのは不可だと思います。 もしかしたら…JavaScriptを使えば可能かもしれません。 JavaScriptに関してそこまで知識がないので…参考までにオススメのJavaScript講座サイトを紹介しておきます。

参考URL:
http://www.red.oit-net.jp/tatsuya/java/
illashige
質問者

お礼

たびたびありがとうございます。 ご紹介いただいたサイト、わかりやすそうで、いいですね。 htmlの知識がこのような状態で、Javaどころでもない感じですが、これを機会にひもといてみようかな、とも思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • nana_ko
  • ベストアンサー率19% (89/467)
回答No.4

よくわからないので補足をお願いします。 単一の頁から2分割のフレーム頁の片方に位置指定をしてリンクを飛ばしたいってことですか? 単一頁→フレーム頁(ただし、片方頁は指定した位置pointを表示)だとしたら、HTMLだけでは不可だと思われます。 単一の頁(sanple.html)からフレーム頁(frame.html)に飛ぶということは外枠(frame.html)にリンクしているだけなのでフレーム内の頁(b.html)にリンクしているわけではありません。 なので、<A HREF="b.html#point">という位置指定のリンクは使えないことになると思います。 HTMLだけでしようとすると、一度フレーム頁に飛んで、それからもう一度リンクする必要があると思います。

illashige
質問者

補足

やりたかったのは、おっしゃるとおりのことです。 基本的に単一ページでHPを作っていますが、注釈のようなページ(必ずしも注釈だけの内容ではない)だけ、フレーム内の目次とその本文をフレームで構成しています。 他の単一ページから、必要に応じてフレーム本文中の項目を参照できるようにしたかったのですが、無理なんでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

こんにちは、No.1のarukamunです。 原因はフレーム分けしているhtmlファイル側にある可能性があります。 全部を補足するのも何ですので、 <FRAMESET>~</FRAMESET> の所だけで良いと思いますので、補足してください。

illashige
質問者

補足

たびたびのフォロー、ご親切にありがとうございます。 フレームセットの中身は、PageMillというMACのHP作成ソフトによるもので、下記のようになっています。(ファイル名とNAMEだけ、ぼくの質問とお答えの文脈にそって書き換えました)。 <FRAMESET FRAMEBORDER=1 BORDER=1 COLS="28%,72%"> <FRAME SRC="a.html" NAME="frame_a" SCROLLING=YES> <FRAME SRC="b.html" NAME="frame_b"> <NOFRAMES> <BODY> このページを見るのにはフレームの表示ができるブラウザが必要です。 </BODY> </NOFRAMES> </FRAMESET> ぼくの質問の書き方が悪かった気がするのですが、リンク元のドキュメントはフレームのない単一のページで、リンク先のフレーム内のドキュメントとは別のディレクトリにあるファイルです。 TARGET="frame_b"とすればよいとのお答えですが、このリンク(単一ページのドキュメント→b.html)には、NAME="frame_b"が宣言されている「フレームわけファイル」がまったくかかわっていないように思えますが、そんなことはないのでしょうか。(ぼくがもし、ブラウザだったら、「いきなりframe_bといわれても、なんのこっちゃ?」みたいな気がするような・・。htmlのことがまったくわかっていないので、ピントはずれかもしれません。申し訳ありません)。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

TARGET="../pass/frame.html#frame_b" ではなく TARGET="frame_b" のままでいいんです。

illashige
質問者

補足

最初は、そのようにしてみたのですが、やはりTARGETが無視されてしまいました。 FRAMEで指定したフレームを明示する必要があるのかな、と思い、パスを付け足してみました。 いまのところ、どうしてもフレームが開きません。ほかの部分でつまらないケアレスミスをしているのかもしれませんが・・。

全文を見る
すると、全ての回答が全文表示されます。
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんばんは まず、フレーム分けをしているhtmlファイルで、 <FRAME SRC="a.html" NAME="frame_a"> <FRAME SRC="b.html" NAME="frame_b"> とかフレームに対して名前を付けていますよね。 またリンクでは、 <A HREF="a.html>ドキュメントA</A> <A HREF="b.html>ドキュメントB</A> とかリンクを張りますよね。 では、リンクしたページをクリックすると、指定したフレームに表示させる場合、 <A HREF="b.html" TARGET="frame_b">ドキュメントBをフレームBに表示</A> といった様にします。 この様にTARGET=でフレーム名を書いてあげます。 次に、b.htmlの<A NAME="point">にリンクを張るには <A HREF="b.html#point" TARGET="frame_b">ドキュメントBをフレームBに表示して、ポイントまで移動</A> といった様にすれば良いでしょう。

illashige
質問者

補足

はやばやと、しかも、丁寧に説明していただき、ありがとうございます。 リンク先が別のディレクトリ(兄弟)なので、ご説明を参考に次のようにしてみたのですが、b.htmlのpointへのジャンプはうまくいくのですが、単独で開いてしまい、フレームが開きません(TARGETが無視されてしまう)。なにがいけないのでしょうか。 フレームわけのファイルをframe.htmlとして・・ <A HREF="../pass/b.html#point" TARGET="../pass/frame.html#frame_b">

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フレームセットができない・・

    フレーム構造のページを直に呼び出すためのリンクを作ろうとしています。 要は、フレームがセットされた状態で呼び出すということです。 http://www.ほげ.net/ほげ/ほげ/021107_ほげ.html    メイン部分のURLがこうだとして。 http://www.ほげ.net/ほげ/ほげ/021107_ほげ2.html この場合は、同じディレクトリーにソースを入れ込みます。ファイル名は 021107_ほげ2.htmlです。そうすれば、例えばメルマガなどで上記URLを入れ込 めば、フレームセット状態でページが表示されるはずなんですが メインの文章の右側をスクロールさせます。で、以下のようなソースを作った のですがどうしてもメインのhtmlが出てきてくれません。 □□□□□□□□□□□□□□□□□□□□□□□               header.html □□□□□□□□□□□□□□□□□□□□□□□   □   □ ※   □ ス   □               ク menu.html  □               ロ   □               ル   □ ****.html   ※ ------------------------------------------------ </HEAD> <frameset rows="90,*" border="0" framespacing="0" frameborder="NO"> <frame src="../../header.html" name="header" noresize scrolling="NO"> <frame src="../../menu.html" name="left" noresize scrolling="NO"> <FRAME SRC="*****.html" NAME="main" SCROLLING=YES> <NOFRAMES> <BODY> このページを見るのにはフレームの表示ができるブラウザが必要です。 </BODY> </NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • フレーム間のリンクが巧く行きません。

    ◇タグを秀丸で書いてソースを作っています。(XPです。) ◇T型にフレームを切り、上側のフレームは標題などとし、下側の縦フレームを、それぞれ左.html、右.htmlと名づけました。 ◇左html に目次(リンクボタン)を置いて、右.html の#name の箇所に移るようにしました。移るのは成功したのですが、 ◇FRAMEセットが崩れて、右.htmlのフレームだけが表示されます。 3個のフレームの形を残してリンク表示させる方法を教えてください。宜しくお願いします。また、左側の目次に戻る方法も教えてください。宜しくお願いします!

  • フレームありのページにリンクしてさらにそこに表示するHTMLも指定する

    まずフレームのなしのページ(以降A)からフレームありのページ(以降B)へリンクさせます。 そしてBは毎回違うものを表示したいのです。 そこで、今まではAのリンク先を常にBにしてBのフレームのソースを毎回書き換えてました。例えば以下のmain001.hrmlをmain002.htmlにしたりして。 <FRAME name="header" scrolling="NO" src="header.html" frameborder="NO" noresize> <FRAME name="main" src="main001.hrml" scrolling="AUTO" frameborder="NO" noresize> ですが、毎回このフレームのソースを買えるのではなく、 Aのリンクの記述を変えることでBのフレームのmainのHTMLを変更したいのです。 要はフレームのページへリンクしてさらにそこに表示するHTMLもリンクもとのページから制御したいのです。 できるんでしょうか? お願いいたします。

  • フレームセットを使用しているページへのリンク

    リンクの設定で困っています。 特定のページの特定の場所へリンクを張りたいのですが、リンク先がフレームセットを使用しているため、レイアウトがくずれた(フレームがなくリンクを指定した右側のページだけの)状態でページが表示されてしまいます。 フレームを使用していない別ページから、リンク先のフレームも生かしたまま、かつ右ページの特定の場所を表示するようにリンクを張る方法はありませんか。 A.htmlからB.htmlへリンクを設定。ただしB.htmlはフレームを使用し、左にL.html、右側にR.htmlを表示させている。A.htmlからリンクをつけるのはR.thmlの#xxx。ただしこの設定だと左に表示されてほしいL.htmlが表示されない。きちんとフレームも生かされた状態で、右側は#xxxまで移動させたいということです。 良い解決法を教えてください。

  • <a name>のタグで別のフレームにリンク先を表示したい

    現在ホームページを作っている真っ最中です。 ひとつ行き詰ってしまったのですが、 <a name>のタグで元のフレームを残したまま、 別のフレームにリンク先を表示するにはどうすればヨイのでしょうか? 1と2にフレームを分けているのですが、 2のフレームに、<a name="xxx">を仕込んだ状態で、 1のフレームに、<a href="sample.html#xxx">リンク</a>を貼り付けて 試しましたが、これだと1のフレームに表示されてしまいました。 今度は、<a href="index.html" target="ウィンドウ名">リンクボタン</a>で試したのですが、これだと新たにウィンドウが表示されてしまい、尚且つ、1のフレームが消えた状態でウィンドウが出てきてしまったので、 これもダメでした。 ちょっと文章が下手で読みづらいかと思いますが、 良かったら暇な時に回答してくださるとうれしいです。 宜しくお願いします。

  • リンク先のフレームページ(ウィンドウ枠の固定風)

    すみません。いろんなサイトを探してますがどうしてもわかりません。 「1.html」とフレーム上下(上:a.html、下:b.html)に別れた「2.html」というのを作りました。 「1.html」にはテーブル表示したページと成っています。 テーブルの中には「2.html」へリンクの仕方はわかります。 でも下(b.html)のデータが長いのでnameへジャンプするように指定(b.html#name1)としたら、もちろん上のフレーム(a.html)が表示されません。 2.htmlへリンクしてなおかつ、指定先が表示されるようにするにはどうしたらいいでしょうか?(Excelのウィンドウ枠の固定風みたいにして、name1へジャンプするように)) スタイルシートでも考えたのですが、ブラウザによってみれなくなるのは極力避けたいのです 当方のHP作成ソフトはgoliveです。 長文申し訳ありませんがよろしくお願いします

    • ベストアンサー
    • HTML
  • リンク先がフレームセットの場合で・・・

    A.htmlというページからB.htmlにというページの中盤にある記事Xにリンクする場合 <a href="B.html#X">記事Xへ</a> と書きますよね? では、A.htmlページからフレームセットB.html(フレームはC.htmlとD.htmlに分かれている)、にリンクしてフレームDの中盤にある記事Xを表示させる方法はあるのでしょうか? わかりにくい文章ですみませんが御願いいたします

    • ベストアンサー
    • HTML
  • リンク毎にフレームセットの内容を変えたい

    まず、フレームを使用していないページがありまして(index.html)、そのページ上のリンクをクリックすると、フレームページに飛ぶのですが、クリックされたリンク毎にフレームセットの内容を変えたいのですが、なかなかいい方法が見つかりません。 もう少し具体的に説明させていただきますと、 ページ1(index.html)上の各リンクをクリック リンク1→A.hrml+B.html+C.htmlのフレームページ リンク2→D.html+E.html+C.html リンク3→F.html+G,html+C.html ・ ・ ・ という感じです。 なにか、良い方法がありましたら、教えていただけたらと思います。 どうかよろしくお願いします。

  • フレームセットのリンクを変更するCGI

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段はJavaScriptで <body onLoad="if (top == self) { location.replace('index.html') };"> このタグで強制的にフレームセットのページであるindex.htmlにリロードしています。 でも、この場合だとindex.htmlにフレーム設定をしているA.htmlとB.htmlしか表示できません。 これを、直リンクされた場合に強制的にindex.htmlに飛んで、さらにフレームセットのページをA.htmlとC.html(直リンクされたページ)に変更させたいのです。 index.htmlを表示させた後、C.html(直リンクされたページ)のアドレスを取得してフレームセットを書き直すCGIなのだと思いますが、このようなCGIのフリーなどありましたら教えてください。 JavaScriptとCGIの混合技らしいので、JavaScriptカテゴリにも書き込んでおります。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=745359

    • ベストアンサー
    • CGI
  • 直リンクされた場合のフレームセットのリンクを変更したい

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段は <body onLoad="if (top == self) { location.replace('index.html') };"> このタグで強制的にフレームセットのページであるindex.htmlにリロードしています。 でも、この場合だとindex.htmlにフレーム設定をしているA.htmlとB.htmlしか表示できません。 これを、直リンクされた場合に強制的にindex.htmlに飛んで、さらにフレームセットのページをA.htmlとC.html(直リンクされたページ)に変更させたいのです。 なんとなくJavaScriptで出来るかな思いましたが、CGIでも構いませんので、よろしくお願いします。