2014-06-20 82 views
0

我想知道是否有可能使用JavaScript获取网站的名称。是否有可能使用JavaScript获取网站的名称?

例如,如果我想获得一个网站的主要URL,我会用

window.location.hostname 

和脚本会回报我们说“stackoverflow.com”

现在如果我希望脚本只返回一个网站的名称,在这种情况下“stackoverflow”? (stackoverflow.com - > stackoverflow; facebook.com - > Facebook等,换句话说,我想从网址中删除第一个域)

谢谢!

+0

你想删除第一个域或全部(想想domain.co.uk)? – fasouto

回答

0

你可以这样做:的

window.location.hostname.split('.').slice(0,-1).join('.') 

其将主机名到由数组从数组

["stackoverflow"] 

,然后加入

["stackoverflow", "com"] 

删除的最后一个元素阵列一起回来。

我做这种方式的情况下,你有一个像“dev.yoursite.com”,你会得到“dev.yoursite”

+1

像“www.ebay.co.uk”这样的场景呢?然后你回来'www.ebay.co' – Jack

+0

谢谢大家,特别是Dave的解决方案! – luaLover

0

我会做正则表达式的URL。但它有点难看:

location.hostname.replace(/^(www.|)([\w]+)(\..+|)/g, "$2") 
+0

感谢你的代码工作得很好! – luaLover

0

对于你提出问题的方式,看起来像你试图将这个存档在一行javascript函数中。
那么我afaid,没有一个容易的方式来做到这一点...

例子很多建议由点分裂,但随后,将只为一个主机名与一线工作级别为&二级域名。

当主机名变得更复杂时,这些解决方案通常会失败。
ex。

  • 子域(mail.example.com)
  • 由域(.co.uk)
  • 等等...

可以给你举几个例子来阅读和查找拿出哪一个适合您的需求。

所以在短暂的..
如果你想要一条线,容易做和神奇的线做到这一点...
答案是否定的,这是不可能的(单一的解决方案,在所有情况下)。

但是,如果你喜欢学习,尝试,阅读并告知它......那么是的。绝对是
它更复杂,但可以做到。

因此,请提供一个更详细的问题,附带示例以及您迄今为止尝试解决的问题,我们很乐意为您提供更详细的答案。

+0

感谢您发布的链接。无论如何,这个问题只是出于好奇而发布的。我会看看你已经链接的指南和例子。再次感谢 – luaLover

+0

太好了!我很高兴这些信息和链接可以帮助您了解更多信息,或者至少更好地了解它的工作原理。 – gmo

相关问题