2009-08-05 11 views
31

Mam już dość js na mojej stronie, więc chcę mieć funkcję, która pobiera nazwę domeny obecnego adresu URL tak skutecznie, jak to możliwe.Najszybszy sposób na pobranie nazwy domeny/hosta za pomocą javascript

przykład:

wkład: https://stackoverflow.com/questions/ask

Wynik: stackoverflow.com

wkład: http://test.stackoverflow.com/questions/ask

Wynik: test.stackoverflow.com

Chyba najlepszą drogę początek jest z document.location, ale jestem w sprzeczności, co robić dalej.

Odpowiedz

39

Spróbuj document.location.hostname

3

link text

window.location.hostname i zabrać to, co nie jest potrzebne, gdyż „www”

58

To zależy co masz zamiar używać nazwy domeny, aw szczególności tego, czy dbać o określony numer portu. Jeśli adres URL zawiera numer portu, jak:

http://stackoverflow.com:80/question/ask

document.location.hostname powróci "stackoverflow.com"

natomiast, document.location.host powróci "stackoverflow.com:80"

co jest lepsze, zależy na twoim przypadku użycia.

Jeśli zdarza się, że sprawdzasz nazwę domeny, aby wiedzieć, czy skrypt będzie mógł uzyskać dostęp do skryptu/DOM w innej ramce/oknie, pamiętaj, że numer portu jest znaczący. Przeglądarki nie zezwalają na dostęp do skryptów między domenami w ramkach/oknach. W celu porównania nazw domen różne numery portów można uznać za różne domeny.

14

użyć document.location.origin, jeśli potrzebujesz nazwy hosta źródłowego (w tym http/https)

Powiązane problemy