一尘不染

如何在JavaScript中提取URL的主机名部分

javascript

是否有一种从完整URL开始的简单方法:

document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"

并仅提取主机部分:

aaa.bbb.ccc.com

必须有一个可靠地执行此操作的JavaScript函数,但我找不到它。


阅读 271

收藏
2020-05-01

共1个答案

一尘不染

假设您有一个地址为的页面http://sub.domain.com/virtualPath/page.htm。使用页面代码中的以下内容获得这些结果:

  • window.location.host:您会得到sub.domain.com:8080sub.domain.com:80
  • window.location.hostname : 你会得到 sub.domain.com
  • window.location.protocol : 你会得到 http:
  • window.location.port:您会得到808080
  • window.location.pathname : 你会得到 /virtualPath
  • window.location.origin:你会得到http://sub.domain.com*

更新:关于.origin

*参考文献所述,浏览器的兼容性window.location.origin尚不清楚。我已经在chrome中检查了它,http://sub.domain.com:port如果端口不是80,则返回该端口,http://sub.domain.com如果端口是80
,则返回该端口。

特别感谢@torazaburo向我提及。

2020-05-01