Existe-t-il un moyen très simple de démarrer à partir d'une URL complète:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
Et extrayez juste la partie hôte:
aaa.bbb.ccc.com
Il doit y avoir une fonction JavaScript qui le fait de manière fiable, mais je ne la trouve pas.
javascript
hostname
Dustin Getz
la source
la source
window.location.origin
n'est pas défini dans IE9 (selon le lien, c'est IE11 +). Cette réponse a aidé.Vous pouvez concaténer le protocole de localisation et l'hôte:
Pour une URL, disons
'http://stackoverflow.com/questions'
, elle reviendra'http://stackoverflow.com'
la source
Utilisez l'
document.location
objet et ses propriétéshost
ouhostname
.la source
La réponse acceptée n'a pas fonctionné pour moi car je voulais pouvoir travailler avec n'importe quelle URL arbitraire, pas seulement avec l'URL de la page actuelle.
Jetez un œil à l'
URL
objet :la source
Il y a deux façons. La première est une variante d'une autre réponse ici, mais celle-ci représente les ports non par défaut:
Mais je préfère cette méthode plus simple (qui fonctionne avec n'importe quelle chaîne URI):
la source
utilisation
et pour: " http://aaa.bbb.ccc.ddd.com/sadf.aspx?blah "
vous obtiendrez: http://aaa.bbb.ccc.ddd.com/
la source
Essayer
ou
la source
Il y a un autre hack que j'utilise et que je n'ai jamais vu dans aucune réponse StackOverflow: l'utilisation de l'attribut "src" d'une image donnera le chemin de base complet de votre site. Par exemple :
Sur une URL comme
http://domain.com/somesite/index.html
,root
sera défini surhttp://domain.com/somesite/
. Cela fonctionne également pour localhost ou toute URL de base valide.Notez que cela entraînera l'échec d'une demande HTTP sur l'
$
image factice. Vous pouvez utiliser une image existante à la place pour éviter cela, avec seulement de légères modifications de code.Une autre variante utilise un lien factice, sans effet secondaire sur les requêtes HTTP:
Cependant, je ne l'ai pas testé sur tous les navigateurs.
la source
Vérifiez ça:
cela renverra le nom d'hôte comme
www.domain.com
et:
renverra le nom de domaine avec le port comme
www.example.com:80
Pour une référence complète, consultez le site du développeur Mozilla .
la source
Je voudrais préciser quelque chose. Si quelqu'un veut obtenir l'URL complète avec le chemin dont j'ai besoin, peut utiliser:
la source
Je sais que c'est un peu tard, mais j'ai fait une petite fonction propre avec un peu de syntaxe ES6
Il pourrait également être écrit dans ES5 comme
Bien sûr, IE ne prend pas en charge
Object.assign
, mais dans mon domaine de travail, cela n'a pas d'importance.la source
Regex offre beaucoup plus de flexibilité.
la source