HTML の <base>
要素は、文書内におけるすべての相対 URL の基点となる URL を指定します。 <base>
要素は、文書内に1つだけ置くことができます。
文書に使われている基底 URL は、スクリプトから document.baseURI
を使用して問い合わせることができます。文書に <base>
要素がない場合、 baseURI
は既定で location.href
になります。
コンテンツカテゴリ | メタデータコンテンツ |
---|---|
許可されている内容 | なし。この要素は空要素。 |
タグの省略 | 終了タグを用いてはならない。 |
許可されている親要素 | 他に <base> 要素を含まない <head> 。 |
暗黙の ARIA ロール | 対応するロールなし |
許可されている ARIA ロール | 許可されている role なし |
DOM インターフェイス | HTMLBaseElement |
属性
この要素にはグローバル属性があります。
以下の属性のいずれかが指定されている場合、この要素は URL の属性値を持つ他の要素の前におかなければなりません。例えば <link>
の href
属性などです。
href
- 文書全体を通して相対 URL に使用される基底 URL です。絶対 URL と相対 URL が使用できます。
target
- キーワードまたは作者が定義した名前で既定の閲覧コンテキストを表し、
<a>
または<form>
要素が明示的にtarget
属性を持たない場合に、移動の結果を表示する先として使用されます。 - 以下のキーワードは特別な意味を持ちます。
_self
(既定値): 同じ閲覧コンテキストに結果を表示します。_blank
: 新しい無名の閲覧コンテキストに結果を表示します。_parent
: 現在のコンテキストの親の閲覧コンテキストに結果を表示します。親がない場合、このオプションは_self
と同じ振る舞いをします。_top
: 最上位の閲覧コンテキスト (現在のコンテキストの祖先で、それ以上の親をもたない閲覧コンテキスト)に結果を表示します。親がない場合、このオプションは_self
と同じ振る舞いをします。
使用上の注意
複数の <base> 要素
複数の <base>
要素が使用された場合、最初の href
と最初の target
の値が使用され、他はすべて無視されます。
ページ内アンカー
文書内のフラグメントを指すリンク — 例えば <a href="#some-id">
— は <base>
によって解決され、基底 URL にフラグメントを付けて HTTP リクエストを発行します。例を示します。
<base href="https://example.com">
が指定された場合- ...そこで
<a href="#anchor">Anker</a>
というリンクの場合 - ...リンク先は
https://example.com/#anchor
となります。
Open Graph
OpenGraph のメタタグは <base>
を認識しないので、次のように常に完全 URL を使用してください。
<meta property="og:image" content="https://example.com/thumbnail.jpg">
例
<base href="https://www.example.com/">
<base target="_blank">
<base target="_top" href="https://example.com/">
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
HTML Living Standard <base> の定義 |
現行の標準 | 最新のスナップショットから変更なし |
HTML5 <base> の定義 |
勧告 | target の挙動を定義 |
HTML 4.01 Specification <base> の定義 |
勧告 | target 属性を追加 |
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力したいのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。