• ベストアンサー

xhtmlでのリンク

初心者ですm(__)m htmlの頃はHEAD内にリンクターゲットを_blankで指定して、ページ内のリンク先に、個別に「_blank」を入力する必要はありませんでした。 xhtmlではどうなんでしょうか?w3c基準に詳しい人お願いします。 xhtmlではリンク先に[_blank]を個別に入力するのがセオリーなんでしょうか?

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

  • ベストアンサー
回答No.3

> htmlの頃はHEAD内にリンクターゲットを_blankで指定して、ページ内のリンク先に、個別に「_blank」を入力する必要はありませんでした。 baseタグのtarget属性でしょうか。 XHTML1.0 Transitionalでも間違いなく使用できます。 (Framsetでも使えますが、Strictのみ使えません。HTML4.01も同様です) <base target="_blank" />でも<a href="" target="_blank">でも、どちらでもいいと思います。 <base target="" />を使ったら、<a href="" target="_self">を付け忘れに要注意ですけどね。 以下の理由により、XHTMLでtarget属性を使う方は少なくなっていると思いますが、 セオリーというのはないと思います。 (XHTML1.0やHTML4.0がでる前から、セオリーというのはなかったと思いますが(^^;) XHTMLでは1つのページは1つのファイルで完結するものであるという考え方からフレームを廃止し、 人間は同時に2つの物を見ることはできない -> 1度に複数のドキュメントを読むことはできないという考え方から、「新しいウインドウを開くこと」をNGとし、それに伴い、XHTML1.1以降ではtarget属性も廃止となります。 HTMLでは、次期バージョンのHTML5でも引き続き使用できますが、<frameset>が廃止となり、すべて<iframe>を使うことになります。 HTML5では新しいウインドウを開くことについては言及していません。(同時には見られなくても、横に並べて交互に見ることはありますから) 10年以上前ですが、わざとやっているのかどうか知りませんが、 トップページ->コンテンツ数ページ->BBSに投稿しようとするとウインドウが十数個開いていて、メモリ不足でクラッシュ、というサイトもありました。 最近のPCスペックなら、それくらいでは落ちませんけど、それでも十数個のウインドウはどうよ?ですが。 そういうブラクラまがいのサイトが多かったためにtarget非推奨ともなったわけですが、使いどころさえ間違えなければ、問題はないと思います。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

ANo.3さんに同意です。 なので、以下補足となります。 文書型宣言(<!DOCTYPE (以下略)>)にて明示されている DTD(文書型定義) を参照されたことはおありでしょうか。 ※今回のご質問の場合、DTD とは http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd のことです。 この DTD 中で、base 要素について次のように定義されています。 <!ELEMENT base EMPTY> <!ATTLIST base  id     ID       #IMPLIED  href    %URI;     #IMPLIED  target   %FrameTarget; #IMPLIED  > base 要素には target 属性が出現することができる、となっています。 target 属性の取り得る値には _blank がありますので、ANo.3さんご指摘のように使用可能ということになります。 セオリーについてもANo.3さんと同意見です。 ※過去質問から「base 要素について」と推測しての補足です。 ※「w3c基準」を気にされるのでしたら、DTD を友達にしてみてはいかがでしょうか?

参考URL:
http://www.doraneko.org/webauth/xhtml10/20000126/Overview.html
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

>XHTML 1.0 Transitionalです・・・ には、そもそも、targetはありません。 framesetにのみ、XHTML-1.0-Frameset を選択して、他はXHTML 1.0 Transitionalになるでしょうが、targetは使えないですね。  そもそも、フレームはとても問題があって(特にtarget)、1.1でも、特殊な扱いで将来的には廃止されると思います。  私も、数年前からすべてのフレームは取りやめ、CSSのfloat:やposition:fixedなどに変更しました。 HTML OR ウェブ OR web フレーム 問題 - Google 検索 http://www.google.co.jp/search?hl=ja&safe=off&q=HTML+OR+%E3%82%A6%E3%82%A7%E3%83%96+OR+web+%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0+%E5%95%8F%E9%A1%8C&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_en%7Clang_ja

ayakapon
質問者

補足

ありがとうございます。 しかし、XHTML 1.0 Transitionalでtargetに_blankを指定しても、w3cでチェックしてもエラーになりませんよ? 追加質問ですいませんが、よろしければお教え願いますm(__)m ちなみにフレーム構成ではありません・・・

すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

htmlとかxhtmlは拡張子です。 DTDのことですか target属性は、すでにHTML4.01 では非推奨です。   Strictでは使えませんでした。 どの文書定義についてお尋ねでしょうか ・XHTML-1.0-Strict ・XHTML-1.0-Transitional ・XHTML-1.0-Frameset ・XHTML 1.1

ayakapon
質問者

補足

説明不足ですいませんm(__)m XHTML 1.0 Transitionalです・・・ よろしくお願いします><

すると、全ての回答が全文表示されます。

関連するQ&A