Location
========

Интерфейс **`Location`** представляет собой адрес (URL) объекта, с которым он связан. Его модификации отражаются на родительском объекте. Интерфейсы `Document` и `Window` имеют подобный `Location`, к которому можно получить доступ через `Document.location` и `Window.location` соответственно.

Свойства
--------

*Интерфейс `Location`* *не имеет унаследованных свойств, но реализует свойства `URLUtils`.*

`Location.href` (en-US)

`DOMString`, содержащий URL целиком. При изменении, соответствующий документ переходит на новую страницу.

`Location.protocol` (en-US)

`DOMString`, содержащий протокол текущего URL, включая `':'`.

`Location.host` (en-US)

`DOMString`, содержащий хост, а именно *имя хоста*, `':'` и *порт*.

`Location.hostname` (en-US)

`DOMString`, содержащий домен текущего URL.

`Location.port` (en-US)

`DOMString`, содержащий номер порта текущего URL.

`Location.pathname` (en-US)

`DOMString`, содержащий первый `'/'` после хоста с последующим текстом URL.

`Location.search` (en-US)

`DOMString`, содержащий `'?'` с последующими параметрами URL.

`Location.hash` (en-US)

`DOMString`, содержащий `'#'` с последующим идентификатором.

`Location.username` (en-US)

`DOMString`, содержащий имя пользователя, указанное перед именем домена.

`Location.password` (en-US)

`DOMString`, содержащий пароль, указанный перед именем домена.

`Location.origin` (en-US) Только для чтения 

Возвращает `DOMString`, содержащий протокол, хост и порт текущего URL.

Методы
------

*Интерфейс `Location`* *не имеет унаследованных методов, но реализует методы `URLUtils`.*

`Location.assign()`

Загружает ресурс по URL, указанному в качестве параметра.

`Location.reload()`

Перезагружает ресурс по текущему URL. Единственный опциональный параметр `Boolean` (en-US) при значении `true` указывает, что страница должна быть заново загружена с сервера, при значении `false` страница может быть загружена из кеша.

`Location.replace()`

Заменяет текущий ресурс на новый по URL, указанному в качестве параметра. Отличие от `assign()` в том, что при использовании `replace()` текущая страница не будет сохранена в `History`, и пользователь не сможет использовать кнопку *назад*, чтобы вернуться к ней.

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

Возвращает `DOMString`, содержащий URL целиком. Это синоним `URLUtils.href`, однако он не может использоваться для изменения значения.

Примеры
-------


```js
// Этот пример создаёт ссылку и использует её свойство href
// Корректная альтернатива - использовать document.location или window.location текущего URL
var url = document.createElement("a");
url.href =
  "https://developer.mozilla.org/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
console.log(url.hostname); // developer.mozilla.org
console.log(url.port); // (пустой - https подразумевает порт 443)
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
```

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Смотрите также
--------------

* Два метода, создающих подобные объекты: `Window.location` и `Document.location`.
* Интерфейсы, относящиеся к URL: `URL`, `URLSearchParams` и `HTMLHyperlinkElementUtils`