base 要素

4.2.3 base 要素

カテゴリー:
メタデータ・コンテント
この要素を使うことができるコンテキスト:
head の中。ただし、他に base 要素を含まないこと。
コンテントモデル:
コンテント属性:
グローバル属性
hrefドキュメントのベース URL
targetハイパーリンクナビゲーションフォーム・サブミッションのデフォルトのブラウジングコンテキスト
text/html におけるタグの省略:
終了タグはありません。
指定可能な ARIA role 属性 の値:
なし
指定可能な ARIA ステートとプロパティ属性:
グローバル aria-* 属性
DOM インタフェース:
interface HTMLBaseElement : HTMLElement {
           attribute DOMString href;
           attribute DOMString target;
};

ウェブ制作者は、base 要素を使って、相対 URL を解決する目的でドキュメントのベース URL を、そして、ハイパーリンクをたどることを目的としてデフォルトのブラウジングコンテキストの名前を指定することができます。この要素は、この情報以上のコンテンツを表しません。

base 要素はドキュメントにつきひとつしか入れてはいけません。

base 要素には、href 属性と target 属性のいずれか、またはその両方を指定しなければいけません。

href コンテント属性には、もし指定するなら、潜在的にスペースで囲まれた妥当な URL を指定しなければいけません。

base 要素は、href 属性があれば、URL を指定する属性を持つツリー上のあらゆる他の要素の前に来なければいけません。ただし、html 要素を除きます(その manifest 属性は base 要素の影響を受けません)。

href 属性を持つ base 要素が複数ある場合、最初の base 要素以外はすべて無視されます。

target 属性は、もし指定されれば、妥当なブラウジングコンテキストの名前またはキーワードを含まなければいけません。この名前やキーワードは、ブラウジングコンテキストが、Document 内のハイパーリンクフォームナビゲーションを発生させるときに、デフォルトとして使われることになります。

base 要素は、target 属性があれば、ツリー上で、ハイパーリンクを表すあらゆる要素の前に来なければいけません。

target 属性を持つ base 要素が複数ある場合、最初の base 要素以外はすべて無視されます。

特定の Document の中で href コンテント属性を持つ最初の base 要素となる base 要素は、凍結ベース URL を持ちます。次の状況が発生したときは必ず、同期的に凍結ベース URL がセットされなければいけません:

  • その base 要素が、その Document の中でツリー順で、href コンテント属性を持つ最初の base 要素になったとき。
  • その base 要素が、その Document の中でツリー順で、href コンテント属性を持つ最初の base 要素であり、かつ、その href コンテント属性が変更されたとき。

凍結ベース URL をセットするために、その Documentフォールバック・ベース URL に対して、この要素の href コンテント属性の値を解決します。これが成功したら、凍結ベース URL を、その結果として得られた絶対 URLにセットします。そうでなければ、凍結ベース URLを、フォールバック・ベース URL にセットします。

href IDL 属性は、取得時においては、次のアルゴリズムの実行結果を返さなければいけません:

  1. base 要素に href コンテンツ属性がひとつもなければ、 ドキュメントのベース URL を返し、これらの手順を中止します。

  2. fallback base urlDocumentフォールバック・ベース URL とします。

  3. url を、base 要素の href 属性の値とします。

  4. fallback base url に対して url解決します(ゆえに、basehref 属性は、xml:base 属性や base 要素の影響を受けません)。

  5. 手前の手順が成功したら、得られた絶対 URL を返し、これらの手順を中止します。

  6. そうでなければ、空文字列を返します。

href IDL 属性は、セット時においては、その href コンテンツ属性を、指定された新たな値にセットしなければいけません。

target IDL 属性は、同じ名前のコンテンツ属性を反映しなければいけません。

この例では、base 要素を使ってドキュメントのベース URL をセットしています:

<!DOCTYPE html>
<html>
    <head>
        <title>これは &lt;base&gt; 要素の例です</title>
        <base href="http://www.example.com/news/index.html">
    </head>
    <body>
        <p><a href="archives.html">アーカイブ</a>をご覧ください。</p>
    </body>
</html>

上記例にあるリンクは、"http://www.example.com/news/archives.html" へのリンクになります。


※ 原文:http://www.w3.org/TR/2014/REC-html5-20141028/document-metadata.html#the-base-element