2014-06-20 83 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

相關問題