Location
========

La interface **`Location`** representa la ubicación (URL) del objeto al que esta vinculado. Los cambios hechos en ella son reflejados en el objeto al cual está relacionado. Ambas interfaces, `Document` y `Window` tienen una interface `Location` asignada, accessible desde `Document.location` (en-US) y `Window.location` respectivamente.

Propiedades
-----------

*La interface `Location`* *no hereda ninguna propiedad, pero las implementa desde `URLUtils`.*

`Location.href` (en-US)

Es un `DOMString` que contiene la URL completa. Si es cambiada, el documento asociado navegará a la nueva pagina. Puede ser cambiada desde un origen diferente que el asociado al documento.

`Location.protocol` (en-US)

Es un `DOMString` que contiene el esquema del protocolo de la URL, incluyendo el `':'` final.

`Location.host` (en-US)

Es un `DOMString` que contiene el host, el cual esta compuesta por: *hostname*, `':'`, y el *port* de la URL.

`Location.hostname` (en-US)

Es un `DOMString` que contiene el dominio de la URL.

`Location.port` (en-US)

Es un `DOMString` que contiene el numero del puerto de la URL.

`Location.pathname` (en-US)

Es un `DOMString` que contiene el `'/'` inicial, seguido por la ruta de la URL.

`Location.search` (en-US)

Es un `DOMString` que contiene un `'?'` seguido por los parametros o el "querystring" de la URL. Navegadores modernos proveen URLSearchParams (en-US) y URL.searchParams (en-US) para hacer mas facil de obtener los parametros desde el querystring.

`Location.hash` (en-US)

Es un `DOMString` que contiene un `'#'` seguido por el fragmento identificador de la URL.

`Location.username` (en-US)

Es un `DOMString` que contiene el *username* (usuario) especificado antes del dominio.

`Location.password` (en-US)

Es un `DOMString` que contiene el *password* (contraseña) especificado antes del dominio.

`Location.origin` Read only 

Es un `DOMString` que contiene la forma canonica del *origin* (origen) de la URL.

Metodos
-------

*La interface `Location` no hereda ningun metodo, pero los implementa desde `URLUtils`*.

`Location.assign()` (en-US)

Carga el recurso en la URL proporcionada en el parámetro.

`Location.reload()`

Recarga el recurso desde la URL actual. Si unico y opcional parametro es `Boolean` (en-US), el cual, cuando es `true`, hace que la pagina siempre sea recargada desde el servidor. Si es `false` o no es especificado, el navegador puede recargar la pagina desde su cache.

`Location.replace()` (en-US)

Reemplaza el recurso actual por el recibido como URL. La diferencia con el metodo `assign()` es que luego de usar `replace()` la pagina actual no va a ser guardada en la sesión `History`, esto significa que el usuario no podrá usar el boton *Atras* para navegar a esta.

`Location.toString()` (en-US)

Retorna un `DOMString` que contiene la URL completa. Es un sinonimo de `URLUtils.href`, aunque este no puede ser utilizado para modificar el valor.

Ejemplo
-------


```js
// Crear un elemento <a> y usar la propiedad href para el proposito de este ejemplo.
// Una alternativa mas correcta es navegar a la URL y usar document.location o window.location
var url = document.createElement("a");
url.href =
  "https://developer.mozilla.org:8080/en-US/search?q=URL#search-results-close-container";
console.log(url.href); // https://developer.mozilla.org/en-US/search?q=URL#search-results-close-container
console.log(url.protocol); // https:
console.log(url.host); // developer.mozilla.org:8080
console.log(url.hostname); // developer.mozilla.org
console.log(url.port); // 8080
console.log(url.pathname); // /en-US/search
console.log(url.search); // ?q=URL
console.log(url.hash); // #search-results-close-container
console.log(url.origin); // https://developer.mozilla.org
```

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # the-location-interface |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Vea también
-----------

* Dos metodos que crean tal objeto: `Window.location` y `Document.location` (en-US).
* URL relacionadas a interfaces: `URL`, `URLSearchParams` y `HTMLHyperlinkElementUtils`