This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The Document.documentURIObject read-only property returns an nsIURI object representing the URI of the document.

This only works for privileged (UniversalXPConnect) scripts, including extension code. For web content this property doesn't have any special meaning and can be used just like any other custom property.

Privileged code must be careful not to try getting or setting this property on a non-wrapped content object (e.g. on a wrappedJSObject of an XPCNativeWrapper). See bug 324464's comments for details.


var uri = doc.documentURIObject;


// Check that the URI scheme of the current tab in Firefox is 'http',
// assuming this code runs in context of browser.xul
var uriObj = content.document.documentURIObject;
var uriPort = uriObj.port;

if (uriObj.schemeIs('http')) {


Not part of any specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support No No Yes — 571 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No No No Yes — 571 No No ?

1. Available only to legacy extensions.

Document Tags and Contributors

Last updated by: Tigt,