<base>: 文档基本 URL 元素

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本中使用。它自 2015 年 7 月.

<base> HTML 元素指定用于文档中所有相对 URL 的基本 URL。文档中只能有一个 <base> 元素。

文档的已用基本 URL 可以通过脚本使用 Node.baseURI 访问。如果文档没有 <base> 元素,则 baseURI 默认设置为 location.href.

属性

此元素的属性包括 全局属性.

警告:<base> 元素必须具有 href 属性、target 属性或两者。如果至少指定了其中一个属性,则 <base> 元素必须出现在其他具有 URL 作为属性值的元素之前,例如 <link>href 属性。

href

在整个文档中用于相对 URL 的基本 URL。允许使用绝对和相对 URL。不允许使用 data:javascript: URL。

target

用于显示从 浏览上下文 中的 <a><area><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">到锚点</a>。链接指向 https://example.com/#anchor

target 不能包含 ASCII 换行符、制表符或 <

如果 target 属性包含 ASCII 换行符、制表符或 < 字符,则值将重置为 _blank。这样做是为了防止悬挂的标记注入攻击,这是一种无脚本攻击,其中一个未关闭的 target 属性被注入到页面中,以便任何后续文本都被捕获,直到浏览器到达关闭属性的字符。

开放图谱

开放图谱 标签不承认 <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/" />

技术摘要

内容类别 元数据内容。
允许的内容 无;它是一个 空元素
标签省略 必须有起始标签,并且不能有结束标签。
允许的父元素 一个 <head>,它不包含另一个 <base> 元素。
隐式 ARIA 角色 没有对应的角色
允许的 ARIA 角色 不允许使用 role
DOM 接口 HTMLBaseElement

规范

规范
HTML 标准
# the-base-element

浏览器兼容性

BCD 表格只在浏览器中加载