如何在 JavaScript 中提取 URL 的主机名部分
2022-08-29 23:22:13
有没有一种非常简单的方法可以从完整的URL开始:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
并仅提取主机部分:
aaa.bbb.ccc.com
必须有一个JavaScript函数可以可靠地做到这一点,但我找不到它。
有没有一种非常简单的方法可以从完整的URL开始:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
并仅提取主机部分:
aaa.bbb.ccc.com
必须有一个JavaScript函数可以可靠地做到这一点,但我找不到它。
假设您有一个具有以下地址的页面:。在页面代码中使用以下内容来实现这些结果:http://sub.domain.com/virtualPath/page.htm
window.location.host
:您将获得或sub.domain.com:8080
sub.domain.com:80
window.location.hostname
:你会得到sub.domain.com
window.location.protocol
:你会得到http:
window.location.port
:您将获得或8080
80
window.location.pathname
:你会得到/virtualPath
window.location.origin
:你会得到http://sub.domain.com
*****更新:关于 .origin
正如 ref 所述,浏览器兼容性尚不清楚。我已经在chrome中检查了它,如果端口不是80,如果端口是80,它就会返回。window.location.origin
http://sub.domain.com:port
http://sub.domain.com
特别感谢@torazaburo向我提及这一点。
您可以将位置协议和主机连接起来:
var root = location.protocol + '//' + location.host;
对于一个网址,让我们说,它将返回'http://stackoverflow.com/questions'
'http://stackoverflow.com'