【发布时间】:2015-02-18 01:38:49
【问题描述】:
我正在寻找一种方法来获取window.location.hostname 并最终获得基本域名,无论情况如何。所以从所有的:
http://example.domain.com
https://www.example.domain.com
https://www.example.domain.com/stuff/index.php
我最终会得到:
domain.com
从:example.domain.co.uk/ 将导致:domain.co.uk
我在 SO 上搜索了很多关于这个主题的问题,似乎没有一个真正得到完整的答案。有些涉及使用复杂的正则表达式,很难判断是否有时会失败。其他答案仅是example.domain.com 的结果。
我完全惊呆了,在 JavaScript 中获取这个值的方法并不简单。我正在为使用 cookie 存储用户偏好的网站编写插件。我担心如果用户在从一个主机名(例如one.domain.com)的页面上使用插件时设置首选项,如果他们去使用托管在two.domain.com 上的另一个页面上的插件,他们将需要设置他们的偏好重新来过。当我设置 cookie 时,我希望能够在站点范围内设置它们(在domain.com 级别)。因为这是一个插件,所以域名是不知道的,需要从window.location.hostname开始计算。
那么有没有一种标准的方法可以达到我正在寻找的东西?还是我只是以错误的方式接近这个?我想我可以为网站所有者设置一个配置设置,以输入他们的基本域名并以这种方式获取它,但如果可能的话,我宁愿不走这条路。老实说,我仍然想知道如何做到这一点。提前感谢您的任何建议!
【问题讨论】:
标签: javascript regex url cookies subdomain