aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/node/baseuri/index.html
blob: aa6b22ab99bd1649e178d9304249edb573facd1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
title: Node.baseURI
slug: Web/API/Node/baseURI
tags:
  - <base>
  - API
  - HTML
  - Node.baseURI
  - Property
  - base
translation_of: Web/API/Node/baseURI
---
<div>
<div>{{APIRef("DOM")}}</div>
</div>

<p><code><strong>Node.baseURI</strong></code> 是只读属性,返回一个节点的绝对基址 URL。</p>

<p>当浏览器要获取绝对 URL 时,就需要用基 URL 去解析相对 URL。例如,解析 HTML {{HTMLElement("img")}} 元素的 <code>src </code>属性时,或者 处理 XML <code><a href="https://developer.mozilla.org/en-US/docs/XLink">xlink</a>:href</code> 属性时—。</p>

<p>一般情况下,基 URL 是 document 的 location ,但是它受诸多方面因素的影响,例如 HTML 的 {{HTMLElement("base")}} 元素和 XML <code><a href="https://developer.mozilla.org/en-US/docs/XML/xml:base">xml:base</a></code> 属性。</p>

<h2 id="语法">语法</h2>

<pre class="syntaxbox">var <em>baseURI</em> = <em>node</em>.baseURI;
</pre>

<ul>
 <li><code>baseURI</code> 是一个 {{ domxref("DOMString") }} 代表当前 {{domxref("Node", "节点")}} 所在文档的基 URI 。如果无法获取则可能返回 <code>null</code></li>
 <li><code><em>node</em>.baseURI</code> 是只读的。</li>
 <li><code><em>node</em>.baseURI</code> 可能会随时间发生变化。</li>
</ul>

<h2 id="Details" name="Details">概述</h2>

<h3 id="文档的基_URL">文档的基 URL</h3>

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

<ul>
 <li>当在文档中找到一个 {{HTMLElement("base")}} 标签时;</li>
 <li>当一个文档被动态创建时。</li>
</ul>

<p>详细信息请参阅 <a href="http://developers.whatwg.org/urls.html#base-urls">HTML Living standard 中关于基 URL 的章节</a></p>

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

<h3 id="Example" name="Example">元素的基 URL</h3>

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

<p>如果文档中有 <code><a href="https://developer.mozilla.org/en-US/docs/XML/xml:base">xml:base</a></code> 属性(不要在 HTML 文档中这样做),在 <code><em>node</em>.baseURI </code>计算基 URL 时,会把 <code>xml:base</code> 属性考虑进去。参考 <a href="https://developer.mozilla.org/en-US/docs/XML/xml:base">xml:base</a> 来了解更多。</p>

<p>可以通过 <code><em>{{domxref("element")}}</em>.baseURI</code> 获取某个元素的基 URL。</p>

<h2 id="Specification" name="Specification">规范</h2>

<p>{{ spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI","DOM Level 3 Core: baseURI","REC") }}</p>

<h2 id="参考">参考</h2>

<ul>
 <li>{{HTMLElement("base")}} 元素(HTML)</li>
 <li><code><a href="https://developer.mozilla.org/en-US/docs/XML/xml:base">xml:base</a></code> 属性(XML 文档)</li>
 <li>{{domxref("Node.baseURIObject")}} - a variant of this API for Mozilla add-ons and internal code. Returns the base URL as an {{interface("nsIURI")}}.</li>
</ul>

<p>{{ languages( {"en": "en/DOM/Node.baseURI" } ) }}</p>