URL()
URL()
构造函数返回一个新创建的 URL
对象,该对象表示由参数定义的 URL。
如果给定的基本 URL 或生成的 URL 不是有效的 URL,则会抛出 JavaScript TypeError
异常。
备注: 此特性在 Web Worker 中可用
语法
js
new URL(url)
new URL(url, base)
参数
异常
异常 | 解释 |
---|---|
TypeError |
url (若为绝对 URL)或 base + url (若为相对 URL)是一个无效的 URL 链接。 |
示例
js
// 基准 URL:
let baseUrl = "https://developer.mozilla.org";
let A = new URL("/", baseUrl);
// => 'https://developer.mozilla.org/'
let B = new URL(baseUrl);
// => 'https://developer.mozilla.org/'
new URL("en-US/docs", B);
// => 'https://developer.mozilla.org/en-US/docs'
let 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'
// 无效 URL:
new URL("/en-US/docs", "");
// 抛出 TypeError 异常:'' is not a valid URL
new URL("/en-US/docs");
// 抛出 TypeError 异常:'/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("", "https://example.com/?query=1");
// => 'https://example.com/?query=1'(Edge 早于 79 的版本会移除查询参数)
new URL("/a", "https://example.com/?query=1");
// => 'https://example.com/a'(见相对 URL)
new URL("//foo.com", "https://example.com");
// => 'https://foo.com/'(见相对 URL)
规范
Specification |
---|
URL Standard # constructors |
浏览器兼容性
BCD tables only load in the browser