我喜欢当前地址在window.location
中很好地分成几个部分,但我希望能够采用任意 URL 并按照完全相同的逻辑将其拆分。我不知道window.location
如何处理极端情况和罕见情况,所以如果可能的话,我想避免手动执行此操作。由于浏览器已经在当前地址上执行此工作,我希望它包含一个可以对任何地址执行此操作的功能。
如果有任何不错的跨浏览器库(也许是jQuery插件),我也想听听它们。
JavaScript中创建a
(HTML Anchor Element)元素并指定href
属性。然后,您将能够调用与锚元素关联的属性,hash
,protocol
,host
,port
等...
https://developer.mozilla.org/en-US/docs/DOM/HTMLAnchorElement
使用 Xander 答案中的信息,我编写了一个小函数,用于解析 URL 并返回包含所需信息的对象。我想我会在这里分享它:
function parse_url(url)
{
var e = document.createElement('a');
e.href = url;
return {
'protocol': e.protocol,
'hostname': e.hostname,
'host': e.host,
'port': e.port,
'pathname': e.pathname,
'search': e.search,
'hash': e.hash
}
}