El objeto location es uno de los objetos más útiles del BOM. Debido a la falta de estandarización, location es una propiedad tanto del objeto window como del objeto document.
El objeto location representa la URL de la página HTML que se muestra en la ventana del navegador y proporciona varias propiedades útiles para el manejo de la URL:
| Propiedad | Descripción |
|---|---|
hash | El contenido de la URL que se encuentra después del signo # (para los enlaces de las anclas)http://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionhash = #seccion |
host | El nombre del servidorhttp://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionhost = www.ejemplo.com |
hostname | La mayoría de las veces coincide con host, aunque en ocasiones, se eliminan las www del principiohttp://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionhostname = www.ejemplo.com |
href | La URL completa de la página actualhttp://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionURL = http://www.ejemplo.com/ruta1/ruta2/pagina.html#seccion |
pathname | Todo el contenido que se encuentra después del hosthttp://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionpathname = /ruta1/ruta2/pagina.html |
port | Si se especifica en la URL, el puerto accedido http://www.ejemplo.com:8080/ruta1/ruta2/pagina.html#seccionport = 8080La mayoría de URL no proporcionan un puerto, por lo que su contenido es vacío http://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionport = (vacío) |
protocol | El protocolo empleado por la URL, es decir, todo lo que se encuentra antes de las dos barras inclinadas //http://www.ejemplo.com/ruta1/ruta2/pagina.html#seccionprotocol = http: |
search | Todo el contenido que se encuentra tras el símbolo ?, es decir, la consulta o "query string"http://www.ejemplo.com/pagina.php?variable1=valor1&variable2=valor2search = ?variable1=valor1&variable2=valor2 |
De todas las propiedades, la más utilizada es location.href, que permite obtener o establecer la dirección de la página que se muestra en la ventana del navegador.
Además de las propiedades de la tabla anterior, el objeto location contiene numerosos métodos y funciones. Algunos de los métodos más útiles son los siguientes:
// Método assign() location.assign("http://www.ejemplo.com"); // Equivalente a location.href = "http://www.ejemplo.com" // Método replace() location.replace("http://www.ejemplo.com"); // Similar a assign(), salvo que se borra la página actual del array history del navegador // Método reload() location.reload(true); /* Recarga la página. Si el argumento es true, se carga la página desde el servidor. Si es false, se carga desde la cache del navegador */