Como obter um subdomínio usando window.location?
-
05-07-2019 - |
Pergunta
Se eu tiver um nome de host, tais como: http://sample.example.com e em Javascript I fazer window.location.hostname
, que eu recebo "example.com" ou "sample.example.com"?
Se não, como eu seria capaz de obter sample.example.com?
Solução
Sim, window.location.hostname
lhe dará subdomínios também. Se isso não for trabalhar, ou não é suportado por algum outro navegador, você poderia facilmente analisar para isso:
// window.location.href == "http://sample.somedomain.com/somedir/somepage.html"
var domain = /:\/\/([^\/]+)/.exec(window.location.href)[1];
Outras dicas
Em primeiro lugar, é window.location
, não document.location
(obras document.location
em alguns navegadores, mas não é padrão)
E sim, location.hostname
irá retornar todo o nome de domínio, incluindo todos os subdomínios
Leia mais aqui
Pode ser feito como abaixo:
var subdomain = window.location.host.split('.')[1] ? window.location.host.split('.')[0] : false;
Sim alert (window.location.hostname) irá incluir subdomínios como 'www' e 'sample'.
Como sobre esse trecho. Pode ajudar:
var a = new String(window.location);
a = a.replace('http://','');
a = a.substring(0, a.indexOf('/'));
alert(a);
Este faz o truque para mim:
var host = window.location.host
var subdomain = host.split('.’)[0]