• ベストアンサー

フレーム内固有の場所へのリンク

フレーム分割のない普通の画面からのリンクで、 あるフレーム(2つあるフレームの片一方とか)の ある場所を表示させたいと考えて いるのですが、その場所の指定の仕方がわかりません。 普通にアンカーをつけるのならわかるのですが・・・。 教えてください。

  • lofty
  • お礼率71% (5/7)
  • HTML
  • 回答数4
  • ありがとう数5

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

  • ベストアンサー
  • puri2
  • ベストアンサー率75% (3/4)
回答No.3

HTMLのみで作るのなら、初期ページ違いのフレームセットを アンカーの数だけ作る以外の方法は思いつきませんが、 JavaScriptを使えば可能です。 まずHTMLファイルを4つ(a~d)用意してください。 a.html、b.htmlにはそれぞれ下記のソースをコピペしてください。 --------------- a.html --------------- <HTML> <HEAD><TITLE>フレームなしページ</TITLE> <SCRIPT language="JavaScript"> <!-- sendURL = "b.html"; function sendData(anc){ sData = escape(anc); location.href = sendURL + "?"+sData; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000"> <P><A href="#" onClick="sendData('#1')">アンカー1</A> <P><A href="#" onClick="sendData('#2')">アンカー2</A> </BODY> </HTML> --------------- b.html --------------- <HTML> <HEAD><TITLE>フレームセット</TITLE> <SCRIPT language="JavaScript"> <!-- rData = unescape(location.search).substr(1,9999); rightfrm = "d.html" + rData; document.write('<FRAMESET cols="20%,*" frameborder="YES" border="2" framespacing="2" rows="*"><FRAME name="leftFrame" scrolling="NO" noresize src="c.html">'); document.write('<FRAME name="mainFrame" src="' + rightfrm + '"></FRAMESET>'); //--> </SCRIPT> </HEAD> </HTML> フレーム無しのページa.htmlからフレームセットb.htmlにリンクします。、 フレームセットの右側(d.html)のアンカー1、2へそれぞれジャンプできたと思うのですが、どうでしょう? 確認した限りでは、Windows 上では問題なく動作します。 Mac の場合、ネスケでは動作が安定しませんでしたが、これは私の記述が未熟なせいでしょう。

その他の回答 (3)

  • puri2
  • ベストアンサー率75% (3/4)
回答No.4

すみません。下の回答の補足です。 a.htmlのリンクの部分に「;return false」を書き足したらMacのネスケでも大丈夫でした。(確認した限りでは、ですけど。) ↓こうなります。 <A href="#" onClick="sendData('#1');return false">アンカー1</A> 後、c.htmlとd.htmlはフレームセットb.htmlの中に表示されるファイルですから、c.htmlをメニューのページ、d.htmlをメインのアンカーを含んだページだと考えてください。 説明不足でした。

lofty
質問者

お礼

ありがとうございました。 JAVAは使ったことがないのですが、がんばってみます。 時間がなくて、ここまでとさせていただきますが、 どうやら、おかげさまで、できそうです。

  • makimaki7
  • ベストアンサー率38% (7/18)
回答No.2

つまり、フレームではない普通のページから、 フレームのページに飛び、尚且つそのフレームのなかのページが 一番上の部分から表示されるのではなくて、 ある一部分(例えばページの真中あたりとか)が表示されるようにしたいのでしょうか? その場合はフレームを定義しているHTMLファイルのところに書き込む URLを以下のようにしてみて下さい。 <FRAME SRC="http://aaa.bbb.ccc/xxx.html#efg" NAME="ddd"> ↓ ↓                    ↑ファイルの拡張子の後に#***のよ ↓                     うに半角英数字で名前を付けて下 ↓                     さい ↓ <A NAME="egf">←ページの最初に表示させたい部分のすぐ前につける(終止タグ不要) 本来アンカータグ同士で使うんですが・・・ フレームタグとアンカータグの組み合わせでも、 なぜかうまくいきます(苦笑) 動作確認環境 Win98&IE5.5 win95&NC4.75

lofty
質問者

補足

ありがとうございます。 質問の意味はmakimaki7さんのおっしゃる通りです。私の説明が足らずにすみません。 しかし、この場合だと、そのフレームを開くときは必ず、その"efg"の所にいきますよね。 実は、A(フレームなし)という画面のメニューからB(2つのフレームC、D)に飛び、C画面にはAと同じメニューを(違うページを用意しますが、)D画面にはその内容を表示したいのです。 なので、A画面から、D画面に複数のアンカーをつけて、その内容に飛ばし、かつ、C画面にメニューを引き続き表示していたいのです。あー、上手く説明できません!がんばってみてはいるのですが。 ・・・すみません。

  • kohma
  • ベストアンサー率50% (3/6)
回答No.1

「あるフレームのある場所」という表現がよくわからないのですが・・・ どこかに、仮にページをアップしていただいて、 「こっちからこっちにリンクさせたい」みたいにしていただければ 回答できるかもしれません。 あるいは、実際にフレームを使っている(できれば個人じゃない) ページを指定していただいても結構ですが。

lofty
質問者

お礼

社外秘のHPを制作してまして、個人ではHPを作ったことがなく、アップできる環境にないので・・・すみません。

関連するQ&A

  • フレームから場所を指定したリンクを・・・

     今私が製作しているホームページはフレームを縦に二分割しています。 左側のフレームにメニューとしてリンク用のボタンをおいて、右側のフレームにメインのページをおいてます。 今回あまりにも長いページが1ページできてしまったのでリンク用のボタン二つを用意し、長いページの中に二箇所<a name="~"></a>と付けました。 左側のリンク用のボタンにも<a href="~.html#~></a>としているのに、 実際クリックするとその長いページの頭から普通に表示されてしまいます。 フレームをつかってメインの方に場所を指定してリンクはできないのでしょうか? 読みにくい文章で申し訳ありませんがどなたか助けてください。

    • ベストアンサー
    • HTML
  • フレームで分かれたページへのリンク

    フレームで分割されていないページからフレームで分かれているページへリンクしたいのですが、そのときにリンク先によりフレームに表示されるページを指定したいのですがうまくできません・・・どうしたらいいのでしょうか? たとえば TOPページからリンクしていくと左側のフレームへメニューで右側には指定されたリンク先のページが表示するように。なのでクリックされたリンクが変わればそのページも違うページが表示されるようにです。 どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • フレーム画面の特定位置へのリンク

    フレーム画面の指定位置へのリンクで困っています。 フレームを使用していないTOP画面から、横分割にしたフレームにジャンプしたと同時に下の画面の特定位置を表示したいのですが、WEBサイトでHTMLの書き方を探しているのですが、なかなか見当たりません。 (TOP画面のいくつかのメニューからは、常に違うフレームファイルの指定位置ににジャンプさせたいです。) HTMLに詳しい方よろしくお願いいたします。

  • フレームページへのリンクについて

    上中下3分割のフレームページがあります。真ん中のページの指定の場所へリンクしたいと思い、いろいろやってみましたが、上手くいきません。 やり方として 1.リンク先ページの指定の場所(今回は画像です)を選択し右クリック→リンクの挿入→ラベルを付ける→半角英数で任意に設定→OKで閉じる→ページの保存→フレーム設定ページの上書き保存 2.リンク元のページの指定の場所をドラッグ反転→右クリック→リンクの挿入→ファイル→リンク先のファイル名入力(フレーム全体のファイル名を入力しました)→ターゲット→親ウインドウ→ラベルタグ→ここでラベル入力欄の右端の下向き矢印をクリックしても何も表示されないので、1.のリンク先で入力したラベル名を手入力→OKで閉じる→ページの保存→フレーム設定ページの上書き保存 という手順でやりました。この結果、リンク元をクリックするとリンク先のページに飛びますが、指定の場所へは行かず、なんていうのかなあ、デフォルトの位置とでもいいますか・・・が表示されてしまいます。 どこが悪いのでしょうか?ご存知の方お見えでしたらよろしくお願いいたします。

  • フレームを入れ子式にする方法

    フレームを使ってホームページを作りたいのですが表示がうまく出来ません。 ホームページビルダー7で作成していますがある程度のタグは読めます。 frame1.htmlを上下に二分割し、フレーム名topとunderを作成  ↓ frame2.htmlを左右に二分割し、フレーム名leftとrightを作成  ↓ topからリンク先をunderにtarget指定してframe2.htmlを表示  ↓ 画面がtop,left,rightの三分割になる 以上のようなことをしたいのですが、right部分のページが表示されません。left部分にtargetをrightに指定したリンクを貼っているのですがクリックすると別窓で開いてしまいます。 フレームの中にフレームを開くことは出来ないのでしょうか?それともリンクの方法等が間違っているのでしょうか? それと、もう一点質問です。 top、left、rightの三つに分割された状態から、leftにあるリンクを使ってtop,underの二分割に戻すことは可能でしょうか? リンクの指定に_topもしくは_parentを使うと全画面にunderが表示されてしまいます。

  • ホームページビルダー フレームページのリンクの仕方

    ホームページビルダーV9を使っています。メニューをフレームで分割した左に、メニューのリンクの表示先、フレームべ分割した右に表示したいと思っています。「全体の確認」ではフレームページが「リンクされていないHTLMファイル」にあるため、フレーム表示がされません(メニュー及びリンク先が全画面表示されてしまいます)。どうすれば良いでしょうか?素人なので分かりやすく教えて下さい。

  • ホームページビルダーで、フレーム内へのリンクがわかりません

    ホームページビルダーv6.5を使用していますが、 フレームを2分割して、例えば、上下に分割して 上のフレーム内の選択メニュを押すと、下のフレームに リンクの結果を表示させたいのですが、 リンクの挿入画面で、【ターゲット】をクリックすると、 作成したフレーム名が出るような設定があったと思ったのですが 忘れてしまい、作成したフレーム名をターゲット選択時に 表示させる方法がわからずに、困っております。 お手数をお掛け致しますが、お教え頂ければ幸いです よろしくお願い致します

  • フレーム内のリンク

    題名が間違っていたので再度。 続けて質問スイマセン。お世話になっています。 2分割フレームを使っています。 左側にメニュー(リンク)、右側のフレームに、リンクをクリックした際に画像を表示させたいですが、上手くいきません。 説明は下手でスイマセン。宜しくお願いします。

  • 複数フレームへ同時にリンクを挿入することはできますか?

    ホームページビルダーver.6を使いフレーム3分割のHP作成をしています。 例えばフレーム(1)で設定したリンク先を フレーム(2)に表示させたい場合、 Targetでフレーム(2)を指定しますよね。 この場合、指定フレームは1つに限られているわけですが、 複数のフレームを指定でき、 それぞれのフレームに違ったページを開くように 設定することは可能でしょうか? ご教授よろしくお願いいたします<(_ _)>

    • ベストアンサー
    • HTML
  • フレーム分割しリンクする方法

    画面を2:8にフレームで分割し、小さい方にコンテンツの一覧を表示し、各リンク先をメインフレームのターゲットフレームにしたいのですが、リンクさせても画面の小さい方でリンク先に行ってしまい、メインフレームはそのままになってしまいます。非常に初歩的な質問だと思うのですが、教えて下さい。 なお、フロントページエクスプレスを使用しています。 ネットスケープコンポーザーもあります。

    • ベストアンサー
    • HTML

専門家に質問してみよう