有没有一种非常简单的方法可以从完整的 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状态,window.location.origin
的浏览器兼容性尚不清楚。我在 chrome 中检查了它,如果端口不是 80,它返回 http://sub.domain.com:port
和 http://sub.domain.com
如果端口是 80。
特别感谢 @torazaburo 向我提及这一点。
关于javascript - 如何在 JavaScript 中提取 URL 的主机名部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1368264/