OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.135419
  • 閲覧数96
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 71% (5/7)

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

教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル5

ベストアンサー率 75% (3/4)

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 の場合、ネスケでは動作が安定しませんでしたが、これは私の記述が未熟なせいでしょう。
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル5

ベストアンサー率 50% (3/6)

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

お礼率 71% (5/7)

社外秘のHPを制作してまして、個人ではHPを作ったことがなく、アップできる環境にないので・・・すみません。
投稿日時 - 2001-09-18 08:46:02


  • 回答No.2
レベル7

ベストアンサー率 38% (7/18)

つまり、フレームではない普通のページから、 フレームのページに飛び、尚且つそのフレームのなかのページが 一番上の部分から表示されるのではなくて、 ある一部分(例えばページの真中あたりとか)が表示されるようにしたいのでしょうか? その場合はフレームを定義しているHTMLファイルのところに書き込む URLを以下のようにしてみて下さい。 <FRAME SRC="http:// ...続きを読む
つまり、フレームではない普通のページから、
フレームのページに飛び、尚且つそのフレームのなかのページが
一番上の部分から表示されるのではなくて、
ある一部分(例えばページの真中あたりとか)が表示されるようにしたいのでしょうか?

その場合はフレームを定義しているHTMLファイルのところに書き込む
URLを以下のようにしてみて下さい。

<FRAME SRC="http://aaa.bbb.ccc/xxx.html#efg" NAME="ddd">

↓                    ↑ファイルの拡張子の後に#***のよ
↓                     うに半角英数字で名前を付けて下
↓                     さい


<A NAME="egf">←ページの最初に表示させたい部分のすぐ前につける(終止タグ不要)


本来アンカータグ同士で使うんですが・・・
フレームタグとアンカータグの組み合わせでも、
なぜかうまくいきます(苦笑)

動作確認環境
Win98&IE5.5
win95&NC4.75
補足コメント
lofty

お礼率 71% (5/7)

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

ベストアンサー率 75% (3/4)

すみません。下の回答の補足です。 a.htmlのリンクの部分に「;return false」を書き足したらMacのネスケでも大丈夫でした。(確認した限りでは、ですけど。) ↓こうなります。 <A href="#" onClick="sendData('#1');return false">アンカー1</A> 後 ...続きを読む
すみません。下の回答の補足です。
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

お礼率 71% (5/7)

ありがとうございました。
JAVAは使ったことがないのですが、がんばってみます。
時間がなくて、ここまでとさせていただきますが、
どうやら、おかげさまで、できそうです。
投稿日時 - 2001-09-20 08:49:03
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ