blob: 031e345c63cf42585729dbaff2688cd1417044fe (
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
|
---
title: document.documentURIObject
slug: Web/API/Document/documentURIObject
translation_of: Web/API/Document/documentURIObject
---
<p>{{ ApiRef() }}</p>
<h3 id="Summary" name="Summary">概述</h3>
<p>该属性返回一个<code><a class="new" href="../../Article_not_found?uri=zh-cn/XPCOM_Interface_Reference/nsIURI&ident=nsIURI" rel="internal">nsIURI</a></code> 对象,值为当前文档的URI.</p>
<p>该属性只能在拥有UniversalXPConnect特权的代码中运行,比如扩展中的代码.如果是web页面中的代码,则该属性默认不存在,必须开启UniversalXPConnect特权才可用.</p>
<p>使用特权代码必须小心,不要在一个non-wrapped的content对象上使用该属性 (比如一个<code><a href="/zh-cn/XPCNativeWrapper" title="zh-cn/XPCNativeWrapper">XPCNativeWrapper</a></code>方法处理过的<code>wrappedJSObject</code>). 查看 {{ Bug("324464") }} 了解详情</p>
<h3 id="Syntax" name="Syntax">语法</h3>
<pre class="eval">var <em>uri</em> = <em>doc</em>.documentURIObject;
</pre>
<h3 id="Example" name="Example">例子</h3>
<pre class="eval">// 检测Firefox当前标签中的页面的URI协议是否为'http',
// 下面的代码必须运行在browser.xul上下文上.
var uriObj = content.document.documentURIObject;
var uriPort = uriObj.port;
if (uriObj.schemeIs('http')) {
...
}
</pre>
<h3 id="Specification" name="Specification">规范</h3>
<p>不属于任何公开的规范.</p>
<p>{{ languages( { "es": "es/DOM/document.documentURIObject", "fr": "fr/DOM/document.documentURIObject", "ja": "ja/DOM/document.documentURIObject", "en": "en/DOM/document.documentURIObject" } ) }}</p>
|