JavaScript 是否能够像在 windows.location 中解析当前 URL 一样解析任意 URL



我喜欢当前地址在window.location中很好地分成几个部分,但我希望能够采用任意 URL 并按照完全相同的逻辑将其拆分。我不知道window.location如何处理极端情况和罕见情况,所以如果可能的话,我想避免手动执行此操作。由于浏览器已经在当前地址上执行此工作,我希望它包含一个可以对任何地址执行此操作的功能。

如果有任何不错的跨浏览器库(也许是jQuery插件),我也想听听它们。

您可以在

JavaScript中创建aHTML Anchor Element)元素并指定href属性。然后,您将能够调用与锚元素关联的属性,hashprotocolhostport等...

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
    }
}

相关内容

  • 没有找到相关文章

最新更新