J'ai l'intention d'acheter deux noms de domaine pour le même site. Selon le domaine utilisé, je prévois de fournir des données légèrement différentes sur la page. Existe-t-il un moyen pour moi de détecter le nom de domaine réel à partir duquel la page se charge afin que je sache vers quoi changer mon contenu?
J'ai cherché des trucs comme ça, mais la plupart ne fonctionnent pas comme je le souhaite.
Par exemple lors de l'utilisation
document.write(document.location)
sur JSFiddle il revient
http://fiddle.jshell.net/_display/
c'est-à-dire le chemin réel ou quoi que ce soit.
javascript
domain-name
Freesnöw
la source
la source
premium.random.com
etfree.random.com
Réponses:
Que diriez-vous:
L'
location
objet possède en fait un certain nombre d'attributs faisant référence à différentes parties de l'URLla source
window.location.hostname
si vous ne voulez pas obtenir leport
(commehttp://localhost:3000/
,window.location.host = 'localhost:3000'
etwindow.location.hostname = 'localhost'
window.location.host
rendra parfois le port.Essayez d'exécuter dans le script: chemin: http: // localhost: 4200 / landing? Query = 1 # 2
L'emplacement a les valeurs suivantes:
la source
Si vous n'êtes pas intéressé par le nom d'hôte (par exemple
www.beta.example.com
) mais par le nom de domaine (par exempleexample.com
), cela fonctionne pour les noms d'hôte valides:la source
amazon.co.uk
. Mais certainement pas "presque tous les TLD internationaux". En fait, cela fonctionne avec 100% des codes de pays trouvés dans WikipediaExemples
La version précédente obtenait le domaine complet (y compris le sous-domaine). Maintenant, il détermine le bon domaine en fonction de vos préférences. De sorte que lorsqu'un deuxième argument est fourni comme vrai, il inclura le sous-domaine, sinon il ne renvoie que le «domaine principal»
la source
localhost/test.php
et que la bonne réponselocalhost
.google.co.uk
pour vous obtiendrez «co.uk», ce qui n'est pas correct ...Vous pouvez facilement l'obtenir à partir d'un objet de localisation en Javascript:
Par exemple, l'URL de cette page est:
Ensuite, nous pouvons obtenir le domaine exact avec les propriétés suivantes de l'objet de localisation:
vous pouvez créer le domaine complet avec:
Qui dans cet exemple renvoie
http://www.stackoverflow.com
En plus de cela, nous pouvons obtenir l'URL complète et également le chemin avec d'autres propriétés de l'objet de localisation:
la source
Si vous êtes uniquement intéressé par le nom de domaine et souhaitez ignorer le sous-domaine, vous devez l'analyser
host
ethostname
.Le code suivant le fait:
http://jsfiddle.net/5U366/4/
la source
Étant donné que cette question demande un nom de domaine, pas un nom d'hôte, une réponse correcte doit être
Cela fonctionne également pour les noms d'hôtes comme www.example.com .
la source
Utilisation
window.location
a un tas de propriétés. Voir ici pour une liste d'entre eux.la source
Si vous souhaitez une origine de domaine complète, vous pouvez utiliser ceci:
Et si vous souhaitez n'obtenir que le domaine, vous pouvez simplement utiliser ceci:
Mais vous avez d'autres options, jetez un œil aux propriétés dans:
la source
Et cette fonction?
Cela correspondra uniquement au nom de domaine, que ce soit un sous-domaine ou un domaine principal
la source
Si vous souhaitez obtenir le nom de domaine en JavaScript, utilisez simplement le code suivant:
Si vous avez besoin d'un chemin d'URL de page Web pour pouvoir accéder au chemin d'URL Web, utilisez cet exemple:
la source
pour mon cas, la meilleure correspondance est window.location.origin
la source
Je suis nouveau sur JavaScript, mais vous ne pouvez pas simplement utiliser: document.domain ?
Exemple:
Production:
ou
Selon ce que vous utilisez sur votre site Web.
la source
Je pense que cela devrait être aussi simple que ceci:
url.split("/")[2]
la source
En combinant quelques réponses de ce qui précède, ce qui suit fonctionne très bien pour moi pour détruire les cookies:
Fonctionne pour les adresses IP avec des ports, par exemple, 0.0.0.0:8000, etc., ainsi que pour les domaines complexes comme le
app.staging.example.com
retour.example.com
=> permet la définition et la destruction de cookies inter-domaines.la source
Si vous voulez que le nom de domaine du pays - par exemple pour extraire .com de stackoverflow.com:
(ES6):
(ES5):
Ensuite, utilisez simplement la fonction pour affecter la valeur à un var:
la source
En effet a fonctionné pour moi alors que je ne pouvais pas utiliser PHP
Je viens de tester que cela a fonctionné grâce à l'approche mentionnée ci-dessus dans certaines des réponses, donc rapide et vérifié qui a fonctionné
la source