<base> 元素为页面上的所有链接规定默认根地址(href)或默认目标(target)。通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用 <base> 元素可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 元素中的 URL。
注意:<base> 元素必须位于 <head> 元素内部,且一个文档仅只能有一个 <base> 元素。
示例如下:
<html>
<head>
<base href="http://www.w3school.com.cn/i/" />
<base target="_blank" />
</head>
<body>
<img src="eg_smile.gif" /><br />
<p>请注意,我们已经为图像规定了一个相对地址。由于我们已经在 head 部分规定了一个基准 URL,浏览器将在如下地址寻找图片:</p>
<p>"http://www.w3school.com.cn/i/eg_smile.gif"</p>
<br /><br />
<p><a href="http://www.w3school.com.cn">W3School</a></p>
<p>请注意,链接会在新窗口中打开,即使链接中没有 target="_blank" 属性。这是因为 `<base>` 元素的 target 属性已经被设置为 "_blank" 了。</p>
</body>
</html>
一个文档的 <base> URL, 可以通过使用 document.baseURI 的 JS 脚本查询。如果文档不包含 <base> 元素,baseURI 默认为 document.location.href。
页内跳转
指向文档中某个片段的链接,例如 <a href="#some-id"> 用 <base> 解析,触发对带有附加片段的基本 URL 的 HTTP 请求。
例如:给定 <base href="https://example.com"> 以及此链接 <a href="#anchor">Anker</a>,链接j会指向 https://example.com/#anchor。