有没有一种非常简单的方法可以从完整的 URL 开始:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
并仅提取主机部分:
aaa.bbb.ccc.com
必须有一个 JavaScript 函数可以可靠地执行此操作,但我找不到它。
原文由 Dustin Getz 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有一种非常简单的方法可以从完整的 URL 开始:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
并仅提取主机部分:
aaa.bbb.ccc.com
必须有一个 JavaScript 函数可以可靠地执行此操作,但我找不到它。
原文由 Dustin Getz 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以连接位置协议和主机:
var root = location.protocol + '//' + location.host;
对于 url,假设 'http://stackoverflow.com/questions'
,它将返回 'http://stackoverflow.com'
原文由 Christian C. Salvadó 发布,翻译遵循 CC BY-SA 2.5 许可协议
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
假设您有一个带有此地址的页面:
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
\*\*\*\*\* 正如 参考文献 所述,
window.location.origin
的浏览器兼容性尚不清楚。我已经在 chrome 中检查了它,如果端口不是 80,它返回http://sub.domain.com:port
,如果端口是 80,它返回http://sub.domain.com
。特别感谢@torazaburo 向我提及这一点。