<base>:文件的 base URL 元素

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

<base> HTML 元素指定了文件中所有相對 URL 的基礎 URL。一個文件中只能有一個 <base> 元素。

指令碼可以透過 Node.baseURI 訪問文件使用的 base URL。如果文件中沒有 <base> 元素,那麼 baseURI 會預設使用 location.href

屬性

此元素的屬性包括全域性屬性

警告: <base> 元素必須有一個 href 屬性、一個 target 屬性,或者兩者都有。如果指定了至少一個這些屬性,那麼 <base> 元素必須出現在其他具有 URL 屬性值的元素(例如 <link>href 屬性)之前。

href

用於文件中相對 URL 的基礎 URL。允許使用絕對 URL 和相對 URL。data:javascript: URL 不允許。

目標

預設 瀏覽上下文關鍵字作者定義名稱,用於顯示沒有顯式 target 屬性的 <a><area><form> 元素的導航結果。以下關鍵字具有特殊含義:

  • _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">跳轉到錨點</a>。該連結指向 https://example.com/#anchor

target 不能包含 ASCII 換行符、製表符或 <

如果 target 屬性包含 ASCII 換行符、製表符或 < 字元,則該值會被重置為 _blank。這是為了防止懸空標記注入攻擊,這是一種無需指令碼的攻擊,攻擊者可以將一個未閉合的 target 屬性注入頁面,直到瀏覽器遇到一個關閉該屬性的字元,從而捕獲其後的所有文字。

Open Graph

Open Graph 標籤不識別 <base>,應始終使用完整的絕對 URL。例如:

html
<meta property="og:image" content="https://example.com/thumbnail.jpg" />

示例

html
<base href="https://www.example.com/" />
<base target="_blank" />
<base target="_top" href="https://example.com/" />

技術摘要

內容類別 元資料內容。
允許內容 無;它是一個空元素
標籤省略 必須有起始標籤,且不能有結束標籤。
允許父級 一個不包含其他 <base> 元素的 <head>
隱式 ARIA 角色 沒有對應的角色
允許的 ARIA 角色 不允許 role
DOM 介面 HTMLBaseElement

規範

規範
HTML
# the-base-element

瀏覽器相容性