Eu pretendo comprar dois nomes de domínio para o mesmo site. Dependendo do domínio usado, pretendo fornecer dados ligeiramente diferentes na página. Existe uma maneira de eu detectar o nome de domínio real do qual a página está carregando, para que eu saiba para o que alterar meu conteúdo?
Eu olhei em volta para coisas como essa, mas a maioria delas não funciona do jeito que eu quero.
Por exemplo, ao usar
document.write(document.location)
no JSFiddle ele retorna
http://fiddle.jshell.net/_display/
ou seja, o caminho real ou o que quer que seja.
javascript
domain-name
Freesnöw
fonte
fonte
premium.random.com
efree.random.com
Respostas:
E se:
Na
location
verdade, o objeto possui vários atributos referentes a diferentes partes da URLfonte
window.location.hostname
se você não quiser obter oport
(likehttp://localhost:3000/
,window.location.host = 'localhost:3000'
ewindow.location.hostname = 'localhost'
window.location.host
, às vezes, devolve a porta.Tente executar no script: caminho: http: // localhost: 4200 / landing? Query = 1 # 2
O local possui os seguintes valores:
fonte
Se você não está interessado no nome do host (por exemplo
www.beta.example.com
), mas no nome do domínio (por exemploexample.com
), isso funciona para nomes de host válidos:fonte
amazon.co.uk
. Mas definitivamente não "quase todos os TLDs internacionais". De fato, ele funciona com 100% dos códigos de países encontrados na WikipediaExemplos
A versão anterior estava obtendo domínio completo (incluindo subdomínio). Agora, ele determina o domínio certo, dependendo da preferência. Assim, quando um segundo argumento for fornecido como verdadeiro, ele incluirá o subdomínio; caso contrário, ele retornará apenas o 'domínio principal'
fonte
localhost/test.php
e a resposta corretalocalhost
.google.co.uk
para você obterá 'co.uk' para trás, o que não é correto ...Você pode obtê-lo do objeto de localização em Javascript facilmente:
Por exemplo, o URL desta página é:
Em seguida, podemos obter o domínio exato com as seguintes propriedades do objeto de localização:
você pode criar o domínio completo com:
Que neste exemplo retorna
http://www.stackoverflow.com
Além disso, podemos obter URL completo e também o caminho com outras propriedades do objeto de localização:
fonte
Se você estiver interessado apenas no nome do domínio e quiser ignorar o subdomínio, precisará analisá-lo de
host
ehostname
.O código a seguir faz isso:
http://jsfiddle.net/5U366/4/
fonte
Como esta pergunta pede nome de domínio, não nome de host, uma resposta correta deve ser
Isso funciona também para nomes de host como www.example.com .
fonte
Usar
window.location
tem um monte de propriedades. Veja aqui uma lista deles.fonte
Se você deseja uma origem de domínio completa, pode usar o seguinte:
E se você deseja obter apenas o domínio, use exatamente isso:
Mas você tem outras opções, dê uma olhada nas propriedades em:
fonte
E essa função?
Isso corresponderá apenas ao nome do domínio, independentemente de ser um subdomínio ou um domínio principal
fonte
Se você deseja obter o nome de domínio em JavaScript, basta usar o seguinte código:
Se você precisar acessar o caminho da URL da página da Web para poder acessar o caminho da URL da Web, use este exemplo:
fonte
para o meu caso, a melhor correspondência é window.location.origin
fonte
Eu sou novo em JavaScript, mas você não pode simplesmente usar: document.domain ?
Exemplo:
Resultado:
ou
Dependendo do que você usa no seu site.
fonte
Eu acho que deve ser tão simples quanto isto:
url.split("/")[2]
fonte
Combinando algumas respostas acima, o seguinte funciona muito bem para mim na destruição de cookies:
Funciona para endereços IP com portas, por exemplo, 0.0.0.0:8000 etc, assim como domínios complexos como
app.staging.example.com
retornar.example.com
=> permite a configuração e destruição de cookies entre domínios.fonte
Se você deseja que o nome de domínio do país - por exemplo, extraia .com do stackoverflow.com:
(ES6):
(ES5):
Em seguida, basta usar a função para atribuir o valor a uma var:
fonte
De fato funcionou para mim, enquanto eu não poderia usar PHP
Acabei de testar que funcionou graças à abordagem mencionada acima em algumas das respostas, tão rápidas e verificadas que funcionaram
fonte