Respuestas:
No necesita jQuery para esto, ya que bastará con javascript simple:
alert(document.domain);
Véalo en acción:
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 obtener más valores relacionados con el dominio, consulte las propiedades de en window.location
línea. Es posible que esa location.host
sea una mejor opción, ya que su contenido puede diferir document.domain
. Por ejemplo, la url http://192.168.1.80:8080
solo tendrá la dirección IP document.domain
, pero tanto la dirección IP como el número de puerto location.host
.
window.location.host
(como Bibby publicó). Acabo de corregir un error que document.domain
se estaba configurando en el dominio raíz en lugar del subdominio.
document.location.origin
vuelve undefined
.
EDITAR:
Si no necesita admitir IE10, simplemente puede usar: document.location.origin
Respuesta original, si necesita soporte heredado
Puede obtener todo esto y más inspeccionando el objeto de ubicación:
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:"
}
entonces:
location.host
sería el dominio, en este caso stackoverflow.com. Para la primera parte completa de la url, puede usar:
location.protocol + "//" + location.host
que en este caso sería http://stackoverflow.com
No se requiere jQuery.
document.location.origin
que dará como resultado https://stackoverflow.com ? Este método incluye el protocolo apropiado
Si necesita de una cadena, como yo, use esta función, realmente funciona.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Pero tenga en cuenta que si hay un subdominio (por ejemplo, www.) En la URL, se devolverá con el nombre de host. Por el contrario, si no hay subdominio, el nombre de host tampoco tendrá uno.
getHost('http://www.google.com') == 'google.com'
mientras que esto sería cierto:getHost('http://google.com') == 'google.com'
Puede usar los siguientes códigos para obtener diferentes parámetros de la URL actual
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 no es necesario, use javascript simple:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
dominio de segundo nivel, puede usar
var sleveldomain = parts.slice(-2).join('.');
Mira esto
alert(window.location.hostname);
esto devolverá el nombre de host como www.dominio.com
Por lo que veo, nadie publicó la solución jquery sino el código JavaScript nativo.
Debe pasar la url como una cadena y obtendrá el host sin usar 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