【问题标题】:How to get exact origin domain address in javascript如何在javascript中获取确切的源域地址
【发布时间】:2018-09-11 19:41:13
【问题描述】:

我在获取源域地址时遇到问题。 我尝试了 document.location, $location 但没有解决方案。它返回 ip 地址而不是实际的域地址。

最后我尝试了 window.location.ancestorOrigins。它适用于 chrome 和 safari,但不适用于 firefox 和 IE。它显示未定义。 ip地址映射在godaddy(ip地址转发)中完成。 谁能帮我。 提前致谢。

【问题讨论】:

  • window.location.hostname ?
  • 不,我试过它返回 ipaddress 不是实际的域地址@Adriani6
  • 应该显示域名,请问您的代码托管在哪里?
  • 您在浏览器的 URL、域名或 IP 地址中看到了什么?

标签: javascript jquery angularjs


【解决方案1】:

您可以通过访问控制台 (F12) 并输入 location 看到此变量提供了一些有趣的属性:

assign: ƒ() hash: ""
host: "stackoverflow.com"
hostname: "stackoverflow.com"
href: "https://stackoverflow.com/questions/52274883/how-to-get-exact-origin-domain-address-in-javascript"
origin: "https://stackoverflow.com"
pathname: "/questions/52274883/how-to-get-exact-origin-domain-address-in-javascript"
port: ""
protocol: "https:"

如果我理解你的问题,你可能想访问window.location.origin

【讨论】:

  • 不,它不工作。它带来了 IP 地址。但如果我使用 window.location.ancestorOrigins 那么它工作但不在 Firefox 和 IE 中。它显示未定义
  • 那么你不能在客户端做任何事情,你可能需要按照这个答案的说明进行操作:stackoverflow.com/a/43263849/8764888
【解决方案2】:

Internet Explorer 无法访问 window.location.origin,这很糟糕,因为它是一个非常方便的变量,但我们可以通过相当直接的检查使其工作,因为我们访问了 .origin;

if (!window.location.origin) {
  window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
}

现在应该将 .origin 设置为您所期望的。

【讨论】:

  • 我试过 window.location.hostname 。它返回的是 IP 地址而不是域地址。
  • 我能知道你在浏览器IP地址或域中输入了什么吗?
  • window.location.ancestorOrigins;仅涉及父框架请查看报告它在哪个浏览器中工作huge-dom.vanilla-cms.org/window.location.ancestorOrigins
猜你喜欢
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 2012-01-10
  • 2015-07-09
  • 2013-05-12
  • 2011-04-04
相关资源
最近更新 更多