有没有一种简单的方法可以从完整的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: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*

Update: about the .origin

*****正如ref个州所说,window.location.origin的浏览器兼容性尚不清楚.我在chrome中判断过,如果端口不是80,它返回http://sub.domain.com:port,如果端口是80,它返回http://sub.domain.com.

Special thanks to @torazaburo for mentioning that to me.

Javascript相关问答推荐

我应该在redux reducer中调用其他reducer函数吗?

zoom svg以适应圆

yarn安装一个本地npm包,以便本地包使用main项目的node_modules(ckeditor-duplicated-modules错误)

Mongoose post hook在使用await保存时不返回Postman响应

CheckBox作为Vue3中的一个组件

为什么123[';toString';].long返回1?

根据一个条件,如何从处理过的数组中移除一项并将其移动到另一个数组?

让chart.js饼图中的一个切片变厚?

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

Docent.cloneNode(TRUE)不克隆用户输入

对具有相似属性的对象数组进行分组,并使用串连的值获得结果

无法检索与Puppeteer的蒸汽游戏的Bundle 包价格

如何在FiRestore中的事务中使用getCountFromServer

在Java脚本中构建接口的对象

使用Perl Selify::Remote::Driver执行Java脚本时出错

如何在单击链接时设置一个JavaScript变量(以打开弹出窗口的特定部分)

Google OAuth 2.0库和跨域开放程序的问题-策略错误

单击子按钮时将活动切换类添加到父分区

如何在不获取其子元素的文本内容的情况下获取元素的文本内容?

ReactJS扫描线演示:多个曲面未同时更新的问题