当前位置: 首页 > 面试题库 >

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

裴曜灿
2023-03-14
问题内容

是否有一种从完整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*

更新:关于.origin

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

特别感谢@torazaburo向我提及。



 类似资料:
  • 问题内容: 我想仅匹配URL的根,而不匹配文本字符串中的整个URL。鉴于: 我想将最后2个实例解析为或域。 我听说正则表达式很慢,这将是我在页面上的第二个正则表达式表达式,因此,如果仍然需要不使用正则表达式,请告诉我。 我正在寻找此解决方案的JS / jQuery版本。 问题答案: 我建议使用npm软件包psl公共后缀列表。“公共后缀列表”是所有有效域后缀和规则的列表,不仅包括国家/地区代码顶级域

  • 问题内容: 我想带一个弦 并将其处理为一个对象 和 问题答案:

  • 问题内容: 在我的Django应用中,我需要从引荐来源网址中获取主机名及其协议,以便从类似以下网址的网址中获取: https://docs.google.com/spreadsheet/ccc?key=blah-blah-blah-blah#gid=1 https://stackoverflow.com/questions/1234567/blah-blah-blah-blah http://ww

  • 我想通过IP地址获得远程机器/主机名。我找到了很多答案,如nslookup、host、resloveip等。但是我仍然无法从我的目标机器(中央操作系统,ubuntu等)获得主机名似乎需要注册到DNS服务器? 我有一台名为test的机器,使用IP 10.1.27.97 但是我用了上面的方法还是不能得到“测试” 有人能帮我得到主机名表单IP地址吗?

  • 问题内容: 有什么办法可以在JavaScript中获取以前的URL?像这样: 有那样的东西吗?还是应该将其存储在Cookie中?我只需要知道,就可以在没有锚点的情况下从先前的URL过渡到当前的URL。 问题答案: document.referrer 在很多情况下,如果用户通过单击链接进入当前页面,则会获得用户访问的最后一页的URL(而不是直接在地址栏中键入,或者我认为在某些情况下,可以通过提交表单

  • 问题内容: 除了使用环境变量之外,还有什么方法可以从在该主机上运行的容器内部获取Docker主机的主机名? 我知道我可以在创建容器时将主机名作为环境变量传递给容器。 我想知道如何在运行时查找它。 有没有办法在Docker主机中运行的容器获取“ foo.example.com”? 编辑以添加用例: 容器将创建SRV记录以用于表单的服务发现 其中20003是docker主机上动态分配的端口,用于服务监