2009-08-05 7 views
31

J'ai déjà pas mal de js sur mon site, donc je veux avoir une fonction qui saisit le nom de domaine de l'URL actuelle aussi efficacement que possible.Le moyen le plus rapide pour saisir le nom de domaine/hôte en utilisant javascript

Exemple:

entrée: https://stackoverflow.com/questions/ask

Résultat: stackoverflow.com

entrée

: http://test.stackoverflow.com/questions/ask

Résultat: test.stackoverflow.com

Je pense que la meilleure façon de start est avec document.location, mais je ne sais pas quoi faire à partir de là.

Répondre

39

Essayez document.location.hostname

3

link text

window.location.hostname et enlever ce n'est pas nécessaire que « www »

58

Cela dépend de ce que vous allez utiliser le nom de domaine et en particulier si vous ou non se soucient d'un numéro de port spécifié. Si vous URL contient un numéro de port comme:

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

document.location.hostname retournera "stackoverflow.com"

tout, document.location.host retournera "stackoverflow.com:80"

Quel est le meilleur dépend sur votre cas d'utilisation.

Si vous examinez le nom de domaine pour savoir si un script pourra accéder à un script/DOM dans une autre image/fenêtre, notez que le numéro de port est significatif. Les navigateurs n'autorisent pas l'accès au script inter-domaines entre les cadres/fenêtres. Dans le but de comparer les noms de domaine, différents numéros de port peuvent être considérés comme des domaines différents.

14

utilisez document.location.origin si vous avez besoin du nom d'hôte de l'origine (y compris http/https)

Questions connexes