jquery, dominio, obtener URL

4 minutos de lectura

avatar de usuario
AlexC

¿Cómo puedo obtener el nombre de dominio con jquery?

  • Creo que esta respuesta no se encuentra en la web: si quiero obtener .com de www.example.com Pruebe este código y obtendrá “com”. var part = location.hostname.split('.'); var subdomains = part.shift(); var TLDextension = part.join('.');

    – Shurvir Mori

    13 de febrero de 2021 a las 7:38


avatar de usuario
Sansón

No necesita jQuery para esto, ya que bastará con un simple javascript:

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 window.location en línea. Usted puede encontrar que location.host es una mejor opción, ya que su contenido podría diferir de document.domain. Por ejemplo, la URL http://192.168.1.80:8080 tendrá sólo la dirección IP en document.domainpero tanto la dirección IP como el número de puerto en location.host.

  • @rob.alarcon Es un recomendación W3C y tiene un soporte muy amplio entre navegadores, antiguos y nuevos. El único problema que conozco es que algunos navegadores (como firefox) le permitirá escribir en esta propiedad (solo lectura según la especificación) siempre que el nuevo valor sea un subdominio del dominio original.

    – Sansón

    18/10/2012 a las 19:53


  • De hecho, recomendaría usar window.location.host (como bibby publicado). Acabo de arreglar un error donde document.domain se estaba configurando en el dominio raíz en lugar del subdominio.

    –Derek Morrison

    15/03/2013 a las 20:03

  • En IE11 document.location.origin devoluciones undefined.

    – Timothy Buktu

    19 de mayo de 2016 a las 9:11


avatar de usuario
superluminaria

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 al inspeccionar el objeto de ubicación:

location = {
  host: "stackoverflow.com",
  hostname: "stackoverflow.com",
  href: "http://stackoverflow.com/questions/2300771/jquery-domain-get-url",
  pathname: "https://stackoverflow.com/questions/2300771/jquery-domain-get-url",
  port: "",
  protocol: "http:"
}

asi que:

location.host 

sería el dominio, en este caso stackoverflow.com. Para la primera parte completa de la URL, puede utilizar:

location.protocol + "//" + location.host

que en este caso sería http://stackoverflow.com

No se requiere jQuery.

  • relacionado stackoverflow.com/questions/6549117/…

    – Adrián Be

    19 de noviembre de 2013 a las 13:14

  • @ Para la URL completa, ¿por qué no usar document.location.origin que resultará en https://stackoverflow.com. Este método incluye el protocolo adecuado

    – Nathileo

    14 de abril de 2020 a las 15:34


Similar a la respuesta antes de que haya

location.host

La ubicación global también tiene más datos divertidos sobre la URL actual. (protocolo, host, puerto, nombre de ruta, búsqueda, hash)

avatar de usuario
Vova Popov

Si necesita 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 lo tendrá.

Puede usar los códigos a continuación 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);

  • ¿Hay alguna forma de obtener el host donde está alojado el archivo js en lugar del documento? Cajero automático. Estoy manipulando el lado del servidor de archivos js para obtener esta cadena de “conexión” que funciona pero parece ineficiente ya que preferiría un archivo js estático.

    – señor amarillo

    3 de julio de 2015 a las 10:12


avatar de usuario
Adán

jQuery no es necesario, use javascript simple:

document.domain

  • ¿Hay alguna forma de obtener el host donde está alojado el archivo js en lugar del documento? Cajero automático. Estoy manipulando el lado del servidor de archivos js para obtener esta cadena de “conexión” que funciona pero parece ineficiente ya que preferiría un archivo js estático.

    – señor amarillo

    3 de julio de 2015 a las 10:12


avatar de usuario
jsbeckr

document.baseURI te da el dominio + puerto. Se usa si una etiqueta de imagen usa una ruta relativa en lugar de una ruta absoluta. Probablemente ya esté resuelto, pero podría ser útil para otros chicos.

¿Ha sido útil esta solución?