Respostas:
Você não precisa do jQuery para isso, pois o javascript simples será suficiente:
alert(document.domain);
Veja em ação:
console.log("Output;");
console.log(location.hostname);
console.log(document.domain);
alert(window.location.hostname)
console.log("document.URL : "+document.URL);
console.log("document.location.href : "+document.location.href);
console.log("document.location.origin : "+document.location.origin);
console.log("document.location.hostname : "+document.location.hostname);
console.log("document.location.host : "+document.location.host);
console.log("document.location.pathname : "+document.location.pathname);
Para outros valores relacionados ao domínio, confira as propriedades do window.location
online. Você pode achar que location.host
é uma opção melhor, pois seu conteúdo pode diferir document.domain
. Por exemplo, o URL http://192.168.1.80:8080
terá apenas o endereço ip document.domain
, mas o endereço ip e o número da porta location.host
.
window.location.host
(como publicado no bibby). Eu apenas corrigi um bug no qual document.domain
estava sendo definido o domínio raiz em vez do subdomínio.
document.location.origin
retorna undefined
.
EDITAR:
Se você não precisa oferecer suporte ao IE10, pode simplesmente usar: document.location.origin
Resposta original, se você precisar de suporte legado
Você pode obter tudo isso e muito mais inspecionando o objeto de localização:
location = {
host: "stackoverflow.com",
hostname: "stackoverflow.com",
href: "http://stackoverflow.com/questions/2300771/jquery-domain-get-url",
pathname: "/questions/2300771/jquery-domain-get-url",
port: "",
protocol: "http:"
}
tão:
location.host
seria o domínio, neste caso, stackoverflow.com. Para a primeira parte completa do URL, você pode usar:
location.protocol + "//" + location.host
que neste caso seria http://stackoverflow.com
Não é necessário jQuery.
document.location.origin
que resultará em https://stackoverflow.com . Este método inclui o protocolo apropriado
Se você precisar de uma string, como eu, use esta função - ela realmente funciona.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Mas observe que, se houver um subdomínio (por exemplo, www.) Na URL, ele será retornado com o nome do host. Por outro lado, se não houver subdomínio, o nome do host também não terá um.
getHost('http://www.google.com') == 'google.com'
enquanto isso seria verdade:getHost('http://google.com') == 'google.com'
Você pode usar os códigos abaixo para obter diferentes parâmetros do URL atual
alert("document.URL : "+document.URL);
alert("document.location.href : "+document.location.href);
alert("document.location.origin : "+document.location.origin);
alert("document.location.hostname : "+document.location.hostname);
alert("document.location.host : "+document.location.host);
alert("document.location.pathname : "+document.location.pathname);
jQuery não é necessário, use javascript simples:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
domínio de segundo nível, você pode usar
var sleveldomain = parts.slice(-2).join('.');
verifique isso
alert(window.location.hostname);
isso retornará o nome do host como www.domain.com
até onde eu vejo ninguém postou a solução jquery, mas o código javascript nativo.
Você precisa passar o URL como uma string e ele obterá o host sem usar o regexp.
function getHostFromUrl(urlString) {
return $a = $('<a>', {
'href': urlString
}).prop('host');
}
//If url is something.domain.com this returns -> domain.com
function getDomain() {
return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
- Jamie Zawinski