- Операторы
- Управляющие инструкции
- JS Объекты
- браузер BOM
- Window
- Navigator
- Screen
- History
- Location
- HTML DOM
- События
- HTML Объекты
- Промисы, async/await
- Сетевые запросы
- Бинарные данные и файлы
- Модули
- Классы
- Разное
Объект Location
Содержит информацию о текущем URL.
Создание
Location-объекты являются предопределёнными объектами JavaScript, доступ к которым Вы можете получить через свойство location объекта window.
Описание
Объект location представляет полный URL, ассоциированный с данным объектом window. Каждое свойство объекта location представляет разные части URL.
В целом URL имеет форму:
protocol//hostname:port/pathname#hash?search
Эти части имеют следующее предназначение:
protocolпредставляет началоURLдо первого двоеточия включительно.hostnameэто имя хоста и домена или IP-адрес сетевого хоста.portэто порт соединения, используемый сервером.pathnameэто частьURL-путьURL.hashэто фрагмент имени якоря вURL, включая символ хэша (#). Это свойство применяется только к HTTPURLs.searchэто информация запроса, присоединённая кURL, включая знак вопроса (?). Это свойство применяется только к HTTPURLs. Строка поиска содержит пары переменная/значение; каждая пара отделена амперсандом (&).
href- полныйURL.host- конкатенация свойствhost:port.
Если Вы присваиваете строку свойству location объекта, JavaScript создаёт объект location и присваивает эту строку его свойству href. Например, следующие два оператора эквивалентны и устанавливают URL для текущего окна - домашнюю страницу Netscape:
window.location.href="http://home.netscape.com/" window.location="http://home.netscape.com/"
Объект location содержится в объекте window и находится в его области видимости. Если Вы обращаетесь к объекту location без специфицирования window, объект location представляет текущее окно. Если Вы обращаетесь к объекту location и специфицируете имя окна, как, например, windowReference.location, объект location представляет местоположение в специфицированном окне.
Пример: вывести свойства текущего location
function showLoc() {
var x = window.location;
var t = ['Property - Typeof - Value',
'window.location - ' + (typeof x) + ' - ' + x ];
for (var prop in x){
t.push(prop + ' - ' + (typeof x[prop]) + ' - ' + (x[prop] || 'n/a'));
}
return t;
}
Alert (showLoc().join('\n'));
Свойства объекта
| hash | Устанавливает или возвращает анкерную часть (#) в виде URL |
| host | Устанавливает или возвращает имя хоста и номер порта в URL |
| hostname | Устанавливает или возвращает имя хоста в URL |
| href | Устанавливает или возвращает полный URL |
| origin | Возвращает протокол, имя хоста и номер порта в URL |
| pathname | Устанавливает или возвращает имя пути в URL |
| port | Устанавливает или возвращает номер порта URL |
| protocol | Устанавливает или возвращает протокол в URL |
| search | Устанавливает или возвращает часть строки запроса в URL |
Методы
| assign() | Загружает новый документ |
| reload() | Перезагружает текущий документ |
| replace() | Заменяет текущий документ с новым |
assign()
С помощью метода assign можно загрузить новый документ в данном окне браузера.
Синтаксис
location.assign(newURL)
Параметры
- newURL
- Является обязательным параметром. Указывает
URLнового документа.
Комментарии
Отличие этого метода от replace, является то , что replace удаляет URL текущего документа из истории документа, а это означает , что это не представляется возможным использовать кнопку "back" браузера, чтобы вернуться обратно к исходному документу.
Если новый URL не удовлетворяет требованиям безопасности, возникает ошибка с типом SECURITY_ERROR. Это случается, если домен скрипта, вызвающего метод, не совпадает с доменом страницы, изначально содержащимся в Location.
Пример
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
//Загрузим главную страницу сайта после нажатия на кнопку
function newdoc()
{
location.assign('___')
}
</script>
</head>
<body>
<input type='button' onclick='newdoc()' value='Перейти на главную страницу нашего сайта'/>
</body>
</html>
hash
Свойство hash возвращает часть URL содержащую якори
Синтаксис
location.hash // Возвращает hash location.hash= anchorname // Устанавливает hash
Возвращаемое значение
Строка, представляющая анкерную часть URL, включая диез (#)
Описание
Свойство hash специфицирует часть URL. Это свойство применяется только к HTTP URL.
Если установленное Вами свойство hash не может быть найдено в текущем месте, Вы получите ошибку.
Установка свойства hash даёт переход к именованному якорю без перезагрузки документа. Это отличается от загрузки документа при установке других location-свойств
Пример
// переход к именованному якорю без перезагрузки документа window.location.hash = "#metka1"; //Предположим текущий URL = http://www.mysite.ru/index.php#number1 тогда document.write(location.hash) //Вернет #number1
host
Свойство host возвращает часть URL содержащую название домена сайта (IP-адреса) и номера порта.
Синтаксис
location.host // Возвращает location.host = hostname:port // Устанавливает
Возвращаемое значение
Строка, представляющая доменное имя (или IP-адрес) и номер порта URL
Описание
Свойство host специфицирует часть URL. Свойство host получается путём конкатенации свойств hostname и port, разделённых двоеточием. Если значение свойства port равно null, свойство host будет тем же самым, что и свойство hostname.
Пример
//Выведем host текущего домена Alert (location.host) //Предположим текущий URL = http://www.mysite.ru:81/index.php тогда document.write(location.host) //Вернет www.mysite.ru:81
hostname
Свойство hostname возвращает часть URL содержащую название домена сайта (IP-адреса)
Синтаксис
location.hostname // Возвращает location.hostname = strHostname // Устанавливает
Возвращаемое значение
Строка, представляющая доменное имя или IP-адрес URL
Пример
//Выведем host текущего домена Alert (location.hostname) //Предположим текущий URL = http://www.mysite.ru:81/index.php тогда document.write(location.hostname) //Вернет www.mysite.ru
href
Строка, специфицирующая полный URL.
Синтаксис
location.href // Возвращает location.href = strHref // Устанавливает
Возвращаемое значение
Строка, представляющая весь URL страницы, включая протокол
Описание
Свойство href специфицирует полный URL. Другие свойства объекта location являются подстроками свойства href. Если Вам необходимо изменить URL, ассоциированный с окном, Вы должны изменить свойство href; это корректно обновит все другие свойства.
Отсутствие свойства при указании объекта location равносильно специфицированию location.href.
Пример
//Выведем текущий URL целиком Alert (location.href); Alert (location);
origin
Свойство origin возвращает протокол, имя хоста и номер порта в URL.
Синтаксис
location.origin
Возвращаемое значение
Строка, представляющая протокол (в том числе: //), доменное имя (или IP-адрес) и номер порта (включая знак двоеточие (:) в URL для URL, используя "файл:". Протокол, возвращаемое значение отличается между браузерами.
Комментарии
Если номер порта не указан в URL (или , если это по умолчанию порт схеме в - как 80, или 443), некоторые браузеры не будут отображать номер порта.
Это свойство только для чтения.
Пример
Alert (location.origin)
Совместимость с браузерами
![]() | ![]() | ![]() | ![]() | ![]() |
| Да | 11,0 | Да | Да | 15,0 |
pathname
Свойство pathname возвращает часть URL содержащую путь к загруженному документу.
Синтаксис
location.pathname // Возвращает location.href = strPathname // Устанавливает
Возвращаемое значение
Строка, представляющая путь к файлуПример
Alert (location.pathname)
port
Свойство port возвращает часть URL, содержащую коммуникационный порт, используемый сервером.
location.port // Возвращает location.port = strPort // Устанавливает
Возвращаемое значение
Строка, представляющая номер порта URL.
Комментарии
Если номер порта не указан возвращается пустая строка
protocol
Свойство protocol возвращает часть URL, содержащую название протокола.
Синтаксис
location.protocol // Возвращает location.protocol = strProtocol // Устанавливает
Возвращаемое значение
Строка, представляющая протокол текущего URL, включая двоеточие (:)
file:, ftp:, http:, https:, mailto:, и т.д.
Пример
//Выведем часть URL содержащую название протокола Alert(location.protocol);
reload()
Метод reload используется для перезагрузки текущего документа.
Действие этого метода аналогично действую кнопки "Обновить" браузера.
Синтаксис
location.reload( forceGet )
Параметры
- forceGet
- Необязательный. Определяет тип перегрузочных:
false- по умолчанию. Перезагружает текущую страницу из кэша.true- перезагружает текущую страницу с сервера
Пример
location.reload(true)
replace()
Метод replace загружает специфицированный URL поверх текущего вхождения в списке history.
Синтаксис
location.replace(newURL)
Параметр
- newURL
- Строка, специфицирующая
URLдля загрузки.
Описание
replace удаляет URL текущего документа из истории документа, а это означает , что это не представляется возможным использовать "back" кнопку браузера, чтобы вернуться обратно к исходному документу.
Совет: Используйте метод assign, если вы хотите , чтобы загрузить новый документ, а также возможность вернуться обратно к исходному документу.
Если новый URL не удовлетворяет требованиям безопасности, возникает ошибка с типом SECURITY_ERROR. Это случается, если домен скрипта, вызвающего метод, не совпадает с доменом страницы, изначально содержащимся в Location.
search
Свойство search возвращает часть URL содержащую передаваемые запросы.
location.search // Возвращает location.search = strSearch // Устанавливает
Возвращаемое значение
Строка, представляющая строку запроса часть URL, включая знак вопроса (?)
Пример
//Предположим что текущий URL=http://www.mysite.ru/editor/wweditor.php?fname=html_intro document.write(location.search) //Тогда в результате выполнения кода выше вернется ?fname=html_intro




