我喜欢将当前地址很好地拆分为 中的部分window.location
,但我希望能够采用任意 URL 并按照完全相同的逻辑将其拆分。我不知道如何window.location
处理极端情况和罕见情况,所以我想尽可能避免手动执行此操作。由于浏览器已经在当前地址上执行此工作,我希望它包含一个可以对任何地址执行此操作的函数。
如果那里有任何不错的跨浏览器库(可能是 jQuery 插件),我也很想听听它们。
我喜欢将当前地址很好地拆分为 中的部分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
}
}