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

教えてください。

このQ&Aに関連する最新のQ&A

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

すみません。

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

後、c.htmlとd.htmlはフレームセットb.htmlの中に表示されるファイルですから、c.htmlをメニューのページ、d.htmlをメインのアンカーを含んだページだと考えてください。
説明不足でした。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/20 08:49

つまり、フレームではない普通のページから、


フレームのページに飛び、尚且つそのフレームのなかのページが
一番上の部分から表示されるのではなくて、
ある一部分(例えばページの真中あたりとか)が表示されるようにしたいのでしょうか?

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

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

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


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


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

動作確認環境
Win98&IE5.5
win95&NC4.75

この回答への補足

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

補足日時:2001/09/18 08:56
    • good
    • 0

「あるフレームのある場所」という表現がよくわからないのですが・・・


どこかに、仮にページをアップしていただいて、
「こっちからこっちにリンクさせたい」みたいにしていただければ
回答できるかもしれません。
あるいは、実際にフレームを使っている(できれば個人じゃない)
ページを指定していただいても結構ですが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/18 08:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qフレームなしのページからフレームページのアンカー部分にリンク

フレームを使用していないページから、フレーム分割したページへとぶ際に、とび先の1ページのアンカー部分を表示させることはできるのでしょうか?
意味が分かりづらくて申し訳ありません。

また可能であれば、その方法をご存じの方、どうぞお教えいただけないでしょうか。
どうかよろしくお願いいたします。

Aベストアンサー

フレームのあるhtmlファイルには

<frame src="frame.htm" name="frame">

といった様に書いてありますよね。

<frame src="frame.htm#jump" name="frame">

と#jumpの様にframe.html内の<a name=で記述されているアンカーを追加してみてはいかがでしょうか。

Qフレーム分割の件で質問です、先ず上下分割、そして、次に下のフレームのみ、左右分割するとします

フレーム分割の件で質問です、先ず上下分割、そして、次に下のフレームのみ、左右分割するとします、このとき、先に、仕切った上下分割のフレームの境界線のみを消す方法を知りたいのですが?
そんな、タグはないでしょうか?
フレームについての説明はWEB上にあるのですが、具体的に、そのまま使えるタグをしましてくれているものは無くて、、、、

Aベストアンサー

<frameset rows="120,*" frameborder="0">
では?
その説明ページを読んでなぜ理解できなかったのかがわかりません。
これであってるとよいですが・・・。

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

 今私が製作しているホームページはフレームを縦に二分割しています。

左側のフレームにメニューとしてリンク用のボタンをおいて、右側のフレームにメインのページをおいてます。

今回あまりにも長いページが1ページできてしまったのでリンク用のボタン二つを用意し、長いページの中に二箇所<a name="~"></a>と付けました。

左側のリンク用のボタンにも<a href="~.html#~></a>としているのに、
実際クリックするとその長いページの頭から普通に表示されてしまいます。

フレームをつかってメインの方に場所を指定してリンクはできないのでしょうか?

読みにくい文章で申し訳ありませんがどなたか助けてください。

Aベストアンサー

> フレームをつかってメインの方に場所を指定してリンクはできないのでしょうか?

できますよ。

心を落ちつけて、名前の記述を見直してください。

<a name> の方にも、# からはじまる名前を付けて、「飛ばない、飛ばない」と騒いでるのを
よく見ます。

Q(再)”フレームhtml”にリンクを張った場合、同時にそのフレームの中身まで指定する方法

 ”フレームhtml”にリンクを張った場合、同時にそのフレームの中身まで指定することってできるのでしょうか?
 リンク元のページ(フレーム未使用)を「contents.html」とします。
このページには、「自作イラスト」を紹介するページへのリンクと、「デジカメの写真」を紹介するページへのリンクを作ったとします。
 「自作イラスト」、「デジカメの写真」両ページとも、フレームを活用した2分割のページです。
「自作イラスト」は、「a01.html」「a02.html」で構成され、
「デジカメの写真」は、「b01.html」「b02.html」で構成されているとします。
 そして、フレームページは「frame.html」です。

「contents.html」
「frame.html」
「a01.html」
「a02.html」
「b01.html」
「b02.html」

 上記のhtmlファイルは、すべて同一パスに存在するとします。
 フレームページは一つだけです。

 以上を踏まえていただいた上で、もう一度ご質問させていただきたいのですが、

 「contents.html」から、「自作イラスト」へのリンクをクリックした時に、「frame.html」に「a01.html」「a02.html」という構成で表示させ、「contents.html」から、「デジカメの写真」へのリンクをクリックした時に、「frame.html」に「b01.html」「b02.html」という構成で表示させることはできるのでしょうか?

 ”フレームhtml”にリンクを張った場合、同時にそのフレームの中身まで指定することってできるのでしょうか?
 リンク元のページ(フレーム未使用)を「contents.html」とします。
このページには、「自作イラスト」を紹介するページへのリンクと、「デジカメの写真」を紹介するページへのリンクを作ったとします。
 「自作イラスト」、「デジカメの写真」両ページとも、フレームを活用した2分割のページです。
「自作イラスト」は、「a01.html」「a02.html」で構成され、
「デジカメの写真」は、「b01.h...続きを読む

Aベストアンサー

ブラウザのアドレスバーの内容書き換え・・・というのは、
たぶん。無理だと思います。値を取得するだけならできそうですけど。
かなりできそうなんですけどね。お気に入り、ということを考えると、
frame.htmlを呼び出さないと駄目ですよね。
今までのは、サーバー上にないページをJavaScriptでつくっていたので。。

いろいろ試していたら、こういう方がいいんじゃないかなって思ったのを、
載せてみます。少しシンプル?になったかな?
判定して、とやろうと思ったんですが、止めました。(上手く動かなかった。。)

ソースを見ていただければ分かると思いますが、
一度、frame.htmlで、ページを読み込んでから切り替えます。
オフラインとオンラインではだいぶ動作が違うと思います。
ので、読み込むのは、軽いページ(contents.htmlへのリンクだけとか)
がイイと思いますが。

frame.htmlにジャンプして、その内容を書き換える。という一連の動作、
はできませんでした。またしても新しいウィンドウが開きます。

最初からフレームを使ったページがあって、他の部分を複数変える
というのなら簡単にできるんですけどね。。。

■contents.html
======================================================================
<html>
<head>
<title>contents</title>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
<META http-equiv="Content-Script-Type" content="text/javascript">
<script language="JavaScript">
<!--
function fchange(f1,f2,ttl)
{
ya5 = window.open("frame.html","_blank");/*_topにするとたぶん×*/
ya5.parent.left.location.href = f1 ; /*leftは、frame.htmlで定義したname*/
ya5.parent.right.location.href = f2 ; /*rightも同様*/
ya5.top.document.title = ttl ; /*タイトルの書き換えです*/
}
//-->
</script>
</head>
<body>
<a href="JavaScript:fchange('a01.html','a02.html','自作イラスト');">自作イラスト</a>
<hr>
<a href="JavaScript:fchange('b01.html','b02.html','デジカメの写真');">デジカメの写真</a>
<hr>
<a href="frame.html">frame.htmlへ</a>
</body>
</html>
======================================================================
■frame.html
======================================================================
<html>
<head>
<title>frame</title>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
<META http-equiv="Content-Script-Type" content="text/javascript">
</head>
<frameset cols="50%,50%">
<frame src="c01.html" name="left" noresize>
<frame src="c02.html" name="right" noresize>
</frameset>
</html>
======================================================================

ブラウザのアドレスバーの内容書き換え・・・というのは、
たぶん。無理だと思います。値を取得するだけならできそうですけど。
かなりできそうなんですけどね。お気に入り、ということを考えると、
frame.htmlを呼び出さないと駄目ですよね。
今までのは、サーバー上にないページをJavaScriptでつくっていたので。。

いろいろ試していたら、こういう方がいいんじゃないかなって思ったのを、
載せてみます。少しシンプル?になったかな?
判定して、とやろうと思ったんですが、止めました。(上手く動か...続きを読む

QInternet Explorerになぜフレームイン(フレーム外し?フレームリンク?)の機能がないのでしょうか?

 ど近眼で、しかも15インチCRTなので、640×480ピクセルで見ていますが、そうすると、2~3個フレームがあると、各フレームがせまくて見づらくて仕方ありません。
 Internet Explorerなどのブラウザには、なぜフレームイン(フレーム外し?フレームリンク?)の機能がないのでしょうか?
 ついでに、そういう機能をもったブラウザソフトがあるならば紹介してください。

Aベストアンサー

ツールなら、YunaToysが便利ですね。
このソフトを使えば、右クリック→ゆなデュプリケート という操作で、フレームの中身のみを新しいウインドウで開くことが出来ます。

参考URL:http://www.uryusoft.com/


このカテゴリの人気Q&Aランキング

おすすめ情報