The URL()
constructor returns a newly created URL
object representing the URL defined by the parameters.
If the given base URL or the resulting URL are not valid URLs, the JavaScript TypeError
exception is thrown.
Note: This feature is available in Web Workers.
Syntax
url = new URL(url, [base])
Parameters
url
- A
USVString
representing an absolute or relative URL. If url is a relative URL, base is required, and will be used as the base URL. If url is an absolute URL, a given base will be ignored. base
Optional- A
USVString
representing the base URL to use in case url is a relative URL. If not specified, it defaults to''
.
Note: You can still use an existing URL
object for the base, which stringifies itself to the object's href
property.
Exceptions
Exception | Explanation |
---|---|
TypeError |
url (in the case of absolute URLs) or base + url (in the case of relative URLs) is not a valid URL. |
Examples
// Base urls var m = 'https://developer.mozilla.org'; var a = new URL("/", m); // => 'https://developer.mozilla.org/' var b = new URL(m); // => 'https://developer.mozilla.org/' new URL('en-US/docs', b); // => 'https://developer.mozilla.org/en-US/docs' var d = new URL('/en-US/docs', b); // => 'https://developer.mozilla.org/en-US/docs' new URL('/en-US/docs', d); // => 'https://developer.mozilla.org/en-US/docs' new URL('/en-US/docs', a); // => 'https://developer.mozilla.org/en-US/docs' new URL('/en-US/docs', "https://developer.mozilla.org/fr-FR/toto"); // => 'https://developer.mozilla.org/en-US/docs' new URL('/en-US/docs', ''); // Raises a TypeError exception as '' is not a valid URL new URL('/en-US/docs'); // Raises a TypeError exception as '/en-US/docs' is not a valid URL new URL('http://www.example.com', ); // => 'http://www.example.com/' new URL('http://www.example.com', b); // => 'http://www.example.com/' new URL("//foo.com", "https://example.com") // => 'https://foo.com' (see relative URLs)
Specification
Specification | Status | Comment |
---|---|---|
URL The definition of 'URL.URL()' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
URL() constructor | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 26 | IE No support ? — 11 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 26 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
See also
- The interface it belongs to:
URL
.