This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The URL interface represent an object providing static methods used for creating object URLs.
When using a user agent where no constructor has been implemented yet, it is possible to access such an object using the Window.URL properties (prefixed with Webkit-based browser as Window.webkitURL).
Properties
Implements properties defined in URLUtils.
URLUtils.href- Is a
DOMStringcontaining the whole URL. URLUtils.protocol- Is a
DOMStringcontaining the protocol scheme of the URL, including the final':'. URLUtils.host- Is a
DOMStringcontaining the host, that is the hostname, a':', and the port of the URL. URLUtils.hostname- Is a
DOMStringcontaining the domain of the URL. URLUtils.port- Is a
DOMStringcontaining the port number of the URL. URLUtils.pathname- Is a
DOMStringcontaining an initial'/'followed by the path of the URL. URLUtils.search- Is a
DOMStringcontaining a'?'followed by the parameters of the URL. URLUtils.hash- Is a
DOMStringcontaining a'#'followed by the fragment identifier of the URL. URLUtils.username- Is a
DOMStringcontaining the username specified before the domain name. URLUtils.password- Is a
DOMStringcontaining the password specified before the domain name. URLUtils.originRead only- Returns a
DOMStringcontaining the origin of the URL, that is its scheme, its domain and its port.
URLUtils.searchParams- Returns a
URLSearchParamsobject allowing to access the GET query arguments contained in the URL.
Constructor
URL()- Creates and return a
URLobject composed from the given parameters.
Methods
The URL interface implements methods defined in URLUtils.
URLUtils.toString()- Returns a
DOMStringcontaining the whole URL. It is a synonym forURLUtils.href, though it can't be used to modify the value.
Static methods
URL.createObjectURL()- Returns a
DOMStringcontaining a unique blob URL, that is a URL withblob:as its scheme, followed by an opaque string uniquely identifying the object in the browser. URL.revokeObjectURL()- Revokes an object URL previously created using
URL.createObjectURL().
Specifications
| Specification | Status | Comment |
|---|---|---|
| File API The definition of 'URL' in that specification. |
Working Draft | Added the static methods URL.createObjectURL() and URL.revokeObjectURL(). |
| URL The definition of 'Node' in that specification. |
Living Standard | Initial definition (implements URLUtils). |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 8.0[2] 32 |
? | 4.0 (2.0)[1] 19.0 (19.0) |
10.0 | 15.0[2] 19 |
6.0[2] 7.0 |
username, password, and origin |
32 | ? | 26.0 (26.0) | ? | 19 | (Yes) |
searchParams |
49 | ? | 29.0 (29.0) | ? | 36 | No support |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | 4[2] 4.4 |
8.0[2] 32 |
14.0 (14.0)[1] 19.0 (19.0) |
(Yes) | 15.0[2] | 6.0[2] |
username, password, and origin |
4.4 | 32 | 26.0 (26.0) | ? | ? | (Yes) |
searchParams |
No support | 49 | 29.0 (29.0) | ? | ? | ? |
[1] From Gecko 2 (Firefox 4) to Gecko 18 included, Gecko supported this interface with the non-standard nsIDOMMozURLProperty internal type. As the only to access such an object was through window.URL, in practice, this didn't make any difference.
[2] This feature is implemented under the non-standard name webkitURL.
Chrome Code - Scope Availability
To use from chrome code, JSM and Bootstrap scope, you have to import it like this:
Cu.importGlobalProperties(['URL']);
URL is available in Worker scopes.
See also
- Property allowing to get such an object:
Window.URL. - Components.utils.importGlobalProperties