Node.baseURI

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Node.baseURI 是只读属性,返回一个节点的绝对基址 URL。

当浏览器要获取绝对 URL 时,就需要用基 URL 去解析相对 URL。例如,解析 HTML <img> 元素的 src 属性时,或者 处理 XML xlink:href 属性时—。

一般情况下,基 URL 是 document 的 location,但是它受诸多方面因素的影响,例如 HTML 的 <base> 元素和 XML xml:base 属性。

语法

var baseURI = node.baseURI;
  • baseURI 是一个 DOMString 代表当前 节点 所在文档的基 URI。如果无法获取则可能返回 null
  • node.baseURI 是只读的。
  • node.baseURI 可能会随时间发生变化。

概述

文档的基 URL

document 的默认基 URL 是文档的地址(浏览器显示的地址,可以通过window.location 获取),但是可以通过如下方法修改:

  • 当在文档中找到一个 <base> 标签时;
  • 当一个文档被动态创建时。

详细信息请参阅 HTML Living standard 中关于基 URL 的章节

可以通过 document.baseURI 获取文档的基 URL。注意检查文档的基 URL 可能会每次请求返回不同的结果,因为 <base> 标签或文档的 location 可能被改变了。

元素的基 URL

元素的基 URL 一般和其所在的文档相同。

如果文档中有 xml:base 属性(不要在 HTML 文档中这样做),在 node.baseURI 计算基 URL 时,会把 xml:base 属性考虑进去。参考 xml:base 来了解更多。

可以通过 element.baseURI 获取某个元素的基 URL。

规范

参考

  • <base> 元素(HTML)
  • xml:base 属性(XML 文档)
  • Node.baseURIObject - a variant of this API for Mozilla add-ons and internal code. Returns the base URL as an nsIURI.