• ベストアンサー

リンク先がフレームセットの場合で・・・

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

  • x_hig
  • お礼率25% (2/8)
  • HTML
  • 回答数5
  • ありがとう数2

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

  • ベストアンサー
  • westpoint
  • ベストアンサー率35% (173/482)
回答No.5

うわ、もう一発間違い・・・ × if (self.name != 'dframe'){document.links.[0].click();} ○ if (self.name != 'dframe'){document.links.[0].click();}} カッコの閉じ忘れでした。m(_ _)m

x_hig
質問者

お礼

ありがとうございました やはりJavaScriptの出番でしたか。 Java Scriptはまだ、勉強中なので、 できればHTMLだけでできればなぁと甘い期待したのですが あまかったですね。 しかし、JSでどうすればいいのかまったくわからなかったのが、コードまで書いていただいたので、解決できました。 ありがとうございました。 これからは、精進いたします

その他の回答 (4)

  • westpoint
  • ベストアンサー率35% (173/482)
回答No.4

すみません、間違えました。 一番下のソースですが、 × <a href="E.html" style="text-size:1px;">.</a> ○ <a href="B.html" style="text-size:1px;">.</a> です。

  • westpoint
  • ベストアンサー率35% (173/482)
回答No.3

ちょっと難しいですが、Javascriptを使ってやれないことはありませんね。 まず、ダミーファイルを作っておきましょう。 E.htmlとして・・・ </head> <script type="text/javascript"> <!-- location.href=parent.document.referrer; //--> </script> <noscript> <meta http-equiv="refresh" content="0;url=./D.html"> </noscript> <body bgcolor・・・・> 前後は適当にどうぞ。 そして、B.htmlは <frameset cols・・・> <frame src="C.html" name="cframe"> <frame src="E.html" name="dframe"> </frameset> としておきます。 で、A.htmlからは<a href="D.html#x">とします。 そして、D.htmlには <script type="text/javascript"> <!-- function frameChange(){ if (self.name != 'dframe'){document.links.[0].click();} //--> </script> </head> <body onLoad="frameChange();"> <a href="E.html" style="text-size:1px;">.</a> とすればいけると思います。 === つまり、A.htmlで、直接D.htmlの目的のアンカーを呼び出します。そして、それがフレーム内に表示されていなかったら、ダミーリンクをクリックしてB.htmlと入れ替わるわけです。 E.htmlは、自分の親フレーム(B.html)を呼び出したファイル(D.html#x)とlocation.hrefで差し替えられると言う手順です。 スクリプトの確認はしていないので、間違っていたら適宜デバッグして下さい。m(_ _)m

  • westpoint
  • ベストアンサー率35% (173/482)
回答No.2

ちょっと補足です。 b.htmlで、 <frameset cols・・・> <frame src="c.html" name="cframe"> <frame src="d.html" name="dframe"> </frameset> としておいて、 <a href="d.html#x" target="dframe">テキスト</a> とすればOKです。

x_hig
質問者

補足

説明が足りませんでした。 a.htmlにはフレームセットが無い状態です。 そこから、 <a href="d.html#x" target="dframe">テキスト</a> とリンクすると d.html#xのみが表示されますよね。 a.htmlはフレームセットの無い状態から フレームセットとして、b.htmlを表示しつつ d.htmlフレームの中身を記事xの位置から表示させる ということができるのでしょうか? 説明が下手ですみませんが宜しく御願いいたします。

  • westpoint
  • ベストアンサー率35% (173/482)
回答No.1

フレームを定義しているHTMLで、それぞれのフレームに名前を付けておきます。 で、<a href="B.html#X" target="フレームの名前">記事Xへ</a> でOKです。

関連するQ&A

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

    まず、フレームを使用していないページがありまして(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 ・ ・ ・ という感じです。 なにか、良い方法がありましたら、教えていただけたらと思います。 どうかよろしくお願いします。

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

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段は <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でも構いませんので、よろしくお願いします。

  • HP:フレームセットページへのリンク方法を教えて!

    リンク先として表示する他の方が管理するHPがフレームセットで出来ています。 例えば当方のHPをA.html として、その中から、 相手先のB.html のフレームセットを保ったまま、 [B.htmlはC.htmlのメニューページとD.html~F.htmlの記事で出来ている] D.htmlやE.html F.htmlへリンクするような記述ができないかと 調べています。 過去ログ等を検索し、q135419や8280650等を参考に考えてはいるのですが、 相手先のHPを変えられない、ということで悩んでいます。 Javascript等を用いても良いのですが、当方の知識はあまりありません。 相手のHPにはリンクの許可は得ていますし、 不可能であれば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
  • フレームセットを使用しているページへのリンク

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

  • HP フレームページを開き、更にページを開きたい

    左右に分割されているフレームがあります。 indexページから <A href="illust.html" target="top">フレーム</a> とリンクさせており、フレームページに飛びます。 左フレームに「A」、「B」、「C」、「D」と…リンクが張ってあり、 「B」をクリックすると、右フレームに「B」ページが表示されます。 <A href="b.html" target="right" >B</a> indexページから、フレームにリンクさせたら、フレームページが開かれますが、 さらに「B」ページを開いた状態にすることは可能でしょうか? 今の状態だと、フレームページが開かれるだけで、手動で左フレームから「B」をクリックするのが手間なのですが…。 ビルダー等のソフトは使用しておらず、メモ帳でタグを書いています。

    • ベストアンサー
    • HTML
  • フレームへのリンクについて

    初めまして。フレームページへのリンクについて どうしてもわからなくって質問させていただきます。 例えばトップページにA、Bというリンク(文字)があります。 リンクを押すとフレーム(ナビゲーションと本文に切られて いる)ページに飛ぶのですがその際にA、Bの違いを認識して フレームページを壊さずに本文のエリアにAかBを表示すること って可能なのでしょうか? 知人に頼まれて作っているのですがそのような依頼なので どうしたらよいかなぁと考えています。 よいお知恵がありましたらよろしくお願いします。

  • フレームリンク

    フレームでリンクを貼ったのですが、新しくタブがでてきてしまいます。 ちゃんとフレームにはnamuをつけているのにどうしてでしょうか ちなみにタグはこれをつかっています <a href="表示させるペ-ジのURL" target="b"> </a>

  • プルダウンリンク先の指定フレームに関して

    現在フレームを5つに分割しています。 横2列、左の列に2行(上のframe:a、下の frame:b)、右の列に3行(c、d、f)と分割しています。 まず、"a"にプルダウンリンクがあり、指定先が"d"になります。 "d"に指定されたファイルにもプルダウンリンクがあり、"e"に表示しています。 2段階に選択をして3段階目にファイルを表示できるものです。 ここでやめればいいのですが… 利便性のため、別の項目も表示したいのです。 "b"にもプルダウンリンクを設置し、”d”には特定のファイルを、”f”にはvalueでしていたファイルをしていたいと思っています。 ただ本日一日中googleで検索をしていたのですが答えが出ませんでした。 いい回答があればと思います。 もう1つ… 別の方法で4つに分割をします。 横2列、左の列に2行(上のframe:a、下の frame:b)、右の列に2行(c、F) ”F”の指定ファイルを2分割(d、e)して上記ページと同じものを作成しました。 ただ、"a"のプルダウンから別のファイルの”e”を指定することは可能なのでしょうか? これも解決できなかった内容です。 これができると非常に管理が楽なのですが… function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { parent.frames["name"].location.href = url; } } と <select onChange="navi(this)"> <option value=""> </option> : </select> でプルダウンの命令を出しています。

  • フレームの中のリンク

    あるページが 上  左下  右下 の3つの フレームにわかれています 左下 の フレームに リンクをはり フレームのないページに移動したいのですが <a href="hoge.html" target="_self">とすると そのフレーム内に リンク先のページが表示されます フレームのページからノンフレームページに 移動したいときにはどのように かけばよろしいのでしょうか

    • ベストアンサー
    • HTML

専門家に質問してみよう