如何用Javascript获取当前域名并输出?

2012-05-27 12:29:39 +08:00
 ihciah
比如访问者通过www.abc.com访问,就在特定位置显示b.abc.com;如果通过b.abc.com访问,就显示a.abc.com
JS小白,有人可以帮忙么?
谢!~
4347 次点击
所在节点    JavaScript
11 条回复
leegorous
2012-05-27 12:31:03 +08:00
location.hostname
ihciah
2012-05-27 12:34:50 +08:00
location.hostname 只能获取到 www.abc.com
如何只取 abc.comabc.com 事先不知道),再加上"b."输出呢?
zuroc
2012-05-27 13:16:27 +08:00
ttl
zuroc
2012-05-27 13:16:41 +08:00
tld
zuroc
2012-05-27 13:16:57 +08:00
ihciah
2012-05-27 13:19:56 +08:00
楼上的没看懂。。。
Mutoo
2012-05-27 13:46:03 +08:00
location.href.split('/')[2]
jackmasa
2012-05-27 14:09:18 +08:00
webkit不好办,其它浏览器可以用document.domain来区分域名和后缀
Chris_Ys
2012-05-27 15:27:48 +08:00
var prefix = location.host.slice(0, location.host.indexOf('.')) // prefix == "www"
, domain = location.host.slice(location.host.indexOf('.')) // domain == ".v2ex.com"
, new_url = "";

switch (prefix) {
case "www": new_url = "b" + domain; break;
// ...
}
caomu
2012-05-27 15:50:35 +08:00
LZ想要根域名(base domain / root domain),不要前面的二级、三级域名(如果有的话)……比较麻烦的是不知道顶级域有没有 .com.cn 这样子的。

如果顶级域就是最后的 . 后面的部分,可以这样:

function getsld(){
var cURL="http://www.bb.example.com/pages/my.php";
var array=cURL.split("/")[2].split(".");
var sld=array[array.length-2]+"."+array[array.length-1]
alert(sld);
}

OR

var re=/.*\.(.*\..*)$/;
sld=re.exec(window.parent.location.host)[1];

(via http://www.sitepoint.com/forums/showthread.php?172110-seperating-the-domain-amp-tld-from-the-URL

如果顶级域还像有 .com.hk 这样的,估计只能去匹配,用正则什么的:
这里有个例子,测试成功 http://waiwaishu.blogspot.com/2012/03/javascripturlget-top-domain.html
但是我还是考虑这TLD有没有列举完啊,不过我也想不到别的方法了,估计就是这样然后看看如果TLD没有补充完整就自己去补?
然后去stackoverflow看到这个 http://publicsuffix.org/list/ 不过估计大部分是难得一见的。

提供我查找时用过的关键词,看看别人能发现些什么:
domain suffix / root domain / base domain / top domain
ihciah
2012-06-05 12:52:03 +08:00
谢谢各位的帮忙,
function init(){
var hostname=window.location.hostname;
document.getElementById('hostname').innerHTML='当前服务器为'+hostname.split('\.')[0];
var link='b'+hostname.substring(hostname.indexOf('\.'),hostname.length-1);
document.getElementById('link').innerHTML='<a href="'+link+'">'+link+'</a>';
用这个实现了
^_^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/37497

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX