如何在javascript中将URL解析为主机名和路径?
2022-08-29 23:11:52
我想拿一根绳子
var a = "http://example.com/aa/bb/"
并将其处理成一个对象,使得
a.hostname == "example.com"
和
a.pathname == "/aa/bb"
我想拿一根绳子
var a = "http://example.com/aa/bb/"
并将其处理成一个对象,使得
a.hostname == "example.com"
和
a.pathname == "/aa/bb"
现代方式:
new URL("http://example.com/aa/bb/")
返回一个具有属性 和 的对象,以及其他几个对象。hostname
pathname
第一个参数是相对或绝对 URL;如果它是相对的,则需要指定第二个参数(基本 URL)。例如,对于相对于当前页面的 URL:
new URL("/aa/bb/", location)
除了浏览器之外,此 API 在 Node.js 自 v7 起也可通过 。require('url').URL
var getLocation = function(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
var l = getLocation("http://example.com/path");
console.debug(l.hostname)
>> "example.com"
console.debug(l.pathname)
>> "/path"