- ベストアンサー
リンク設定時の「ターゲット」の意味を教えてください
DreamWeaver8を使っています。 ページにフレームを作成し、リンクを設定する時「ターゲット」の設定に「_TOP」、「_parent」がありますが、この違いがヘルプを読んでもよく理解できません。 誰かご存知の方教えてください、宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#2です。 二度目のご質問内容を整理させて下さい。 今このようなフレーム構成の画面があるとします。 1)左フレーム(以下1Fという) 2)右上フレーム(2F) 3)右下フレーム(3F) ケース(A) 1Fにリンク記述が置いてある。3Fには現在rightdownA.htmが表示されており、それを1F・2Fは現在の状態を保ったまま3FだけrightdownB.htmに表示替えさせたい ケース(B) 条件は上と同じだが、3Fに表示させたいリンク先のrightdownB.htmは、現在別のフレーム構造(1'F、2'F、3'F)の中の3'Fに表示されているものである ご質問を何度も読んでこのように理解しましたが、これで良いでしょうか。具体的な実戦への適用で、もうparentのご質問からは外れていますね。 私はドリームウィーバーの本体を持っていませんから手書きHTMLの例でご紹介しますが、ドリームウィーバーのソースを見ても同じことです。そのソースに書き加えれば良いです。 ■前提条件としてあなたのフレームHTMLの記述を見てください、おおむね下のようになっているはずです。 なお、各フレームのファイル名とそのバスは適当に書いていますからご自分のフォルダ構造とファイル名に従って読み換えましょう。 <HTML> <HEAD> <TITLE></TITLE> </HEAD> <FRAMESET cols="*%,*%"> <FRAME src="../folder/left_content.htm"> <FRAMESET rows="*%,*%"> <FRAME src="../folder/rightup_content.htm"> <FRAME src="../folder/rightdown_A.htm"> </FRAMESET> <NOFRAMES> <BODY> <P>このページをご覧いただくにはフレーム対応のブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> ケース(A)について 作業1 この記述に追加記述をします。具体的には、これからHTMLファイルを取り替えようとしているフレームに名前をつけます、あるいは既にあるフレーム名を確認します。そのやり方は; 取替えをしたいのは右下フレームですよね、このフレームに何でも良いですが例えば"main"という名前をつけるのです。(これはコンテンツのファイル名とは違いますのでご注意) その為には9行目を次のようにします。 <FRAME src="../folder/rightdown_A.htm" name="main"> これで右下フレームにmainという名前がつきました。 既にname=の記述があればそれを確認しておきます。 作業2 実際にリンク記述をするのは 例えば1Fですね。 1Fの中でリンク文字を表示させたい位置へ次のように書き込みます。 <P><A href="../folder2/rightdown_B.html" target="_main">rightdown_Bへリンク</A></P> 当然../folder2/rightdown_B.htmlは、あなたのホームページのフォルダ構造の中で、これを記入する1Fからrightdown_Bへ到達する為のパス(経路)です。 ケース(B)について 実はケース(A)と作業内容は同じで、何の違いもありません。rightdownB.htmというファイルが3'Fや2'Fというフレームの中にあっても、またフレームの中にない独立したHTMLであっても、単純にそのrightdownB.htmに至るパスをリンク記述してやれば良いだけです。 結論的に申し上げれば、フレームの場所に名前をつけてやり、表示させたいHTMLにその名前を教えてやることでそこに表示させることが出来る、ということです。 フレームを切る場合は2分割か多くて3分割だと思います。(ちなみに私は過去7分割という馬鹿をしていました) そうならばtarget="_parent"を実際に使わうケースは稀ではないかと思います。また_parentと書いても_topと書いても同じ表示になる場合もあります。 なおしばしば指摘されることですが、フレーム構造はロボットのワード検索を使ってあなたのHPを訪問する閲覧者をまごつかせます。そんな閲覧者のPC画面にはあなたのフレーム構造は見えず、苦心して作ったあなたの画面の一部分が見えるだけですから、これに対する配慮をしてあげてください。 さらに、ご質問はぶち当たっている疑問点について範囲を出来るだけ狭く限って具体的にされると、早く正しい解答が寄せられると思います。
その他の回答 (2)
こんばんは。 フレームを切る、とひとくくりに言ってしまえばこれらの区別が難しくなります。 どのようにフレームを切ったか、を意識すれば_parentの意味が判ります。 ■まず target="_top"ですが、 これはフレームの切り方が3分割でも4分割でも、何分割あってもそれらを全部キャンセルしてまっさらでフレームに分割されていない画面に移行する、と言う記述です。 ■次にtarget="_parent"ですが、 どのようにフレームを切ったか、と言うことに関係します。 3分割のフレームを切るのに以下のようにしたと仮定します。 まず左右に2分割します。次にその右側のフレームに着目します。その右側フレームを上下に2分割します。 そして右上の画面にリンクを下の例のように記述したとします。 <A href="X.htm" target="_parent">Xへ移動</A> すると、新しいX.htmは右上・右下の二つのフレームをひとつにしてそこに表示されます。つまり画面の右半分ですね。 なお、同じ右上にtarget="self"と書けば右上のフレームだけにX.htmが表示されます。 もしご説明の言葉が足りずに理解しずらいようでしたらご紹介のサイトを参照して下さい。
補足
・色々と皆さんにリンクページを教えてもらって読みましたが今一よく理解できませんので再度質問いたします。 ・例えば3分割した右下のページだけにリンク(リンク先ページはフレームなしの1ドキュメント)を設定し、リンク元の左、右上はそのままでフレーム付で表示させたい場合には、ターゲットはどうなるのでしょうか。 また、リンク先ページがフレーム有りでその中の1フレーム内のドキュメントだった時、ターゲットの設定はどうなるのですか。 色々と試してみているのですが、今一理解できません宜しくお願いいたします。
- gura_
- ベストアンサー率44% (749/1683)
補足
> 実はケース(A)と作業内容は同じで、何の違いもありません。rightdownB.htmというファイルが3'Fや2'Fというフレームの中にあっても、またフレームの中にない独立したHTMLであっても、単純にそのrightdownB.htmに至るパスをリンク記述してやれば良いだけです。 > 結論的に申し上げれば、フレームの場所に名前をつけてやり、表示させたいHTMLにその名前を教えてやることでそこに表示させることが出来る、ということです。 > そうならばtarget="_parent"を実際に使わうケースは稀ではないかと思います。また_parentと書いても_topと書いても同じ表示になる場合もあります。 回答、何度も有り難うございます。 結論としては、表示させたいリンクに至るパス名なり、名前を書いてやればよいとのことですが、 ※ それならフレームを作成したときには「ターゲット名」は書く必要がなく全てフレーム名の記述だけで良いということでしょうか。 私の疑問は単純(と自分では思っています)に、説明書等に書いてある、 (1)"_parent" ⇒「リンク先はリンク(※リンク先のドキュメント?)が含まれているフレームの親フレームセットまたはブラウザに表示される」 (※リンク先のドキュメントが含まれるフレームセット全体(他のフレームも含めて)が表示されること?) (2)"_self" ⇒「リンク先は同じフレーム(※リンク元のドキュメントが存在するところのフレームセット内?)に表示される」 (※リンク先のドキュメントはリンク元のフレームセット内のリンク元の存在するフレーム内に取り込まれて表示されること?) ※(1)で言う親フレームセットと(2)で言うフレームの意味の違いは? (3)"_top" ⇒ 「リンクされたドキュメントを現在のブラウザウィンドウに開き、すべてのフレーム(※リンク先orリンク元?)は削除される」 ※ 削除されるフレームとは、リンク先のフレームのことでしょうか、それともリンク元のことでしょうか。 ※ 実はこれを設定したところ、「すべてのフレームは削除される」との説明にもかかわらず、リンク元のドキュメントはリンク先のフレームセット全体も表示され、ドキュメントはそのフレーム内に表示されました。 結論は(1)、(2)、(3)の違いと使い分けが不明なことだけです。