Книга: HTML, XHTML и CSS на 100%

Объект Location

Объект Location

Объект Location является частью объекта Window. Он содержит информацию об URL-адресе текущей страницы и его составляющих.

Использование объекта Location в сценарии JavaScript позволяет обновить текущую страницу или полностью поменять URL-адрес, то есть перейти на другую веб-страницу.

Свойства объекта Location содержат различную информацию о подключении пользователя к HTTP-серверу.

• href – полный URL-адрес текущей веб-страницы.

• hash – имя «якоря» в URL-адресе веб-страницы (значение атрибута name), если он есть.

• host – часть URL-адреса страницы, содержащая имя сервера в Интернете и номер порта.

• hostname – имя сервера в Сети, с которого загружена текущая веб-страница.

• pathname – путь к файлу на веб-сервере без имени сервера и порта.

• port – сообщает номер порта HTTP-сервера, через который идет обращение к веб-странице. Если порт не указан, возвращает номер 8 0 – стандартный порт, через который работает протокол HTTP.

• protocol – протокол передачи данных (HTTP, FTP и др.). Если протокол не указан, возвращает значение http:.

• search – строка параметров для серверных сценариев, начинается со знака?.

Команды host, hostname, port, search не работают, если просматривать страницу с жесткого диска компьютера. Результат может быть только в том случае, если веб-страница размещается на сервере в Интернете.

Внимание!

Поскольку объект Location является частью объекта Window, доступ к нему осуществляется именно через этот объект: window.location.property.

Рассмотрим использование свойств объекта Location на примере сценария из листинга 10.16.

Листинг 10.16. Свойство href объекта Location

<html>

<head>

<title>URL текущего HTML-документа</title>

</head>

<body>

<script language=JavaScript>

<!– Маскировка сценария

document.write(location.href); //код JavaScript

// Конец маскировки сценария –>

</script>

</body>

</html>

Данный сценарий определяет полный URL-адрес текущего HTML-документа. При запуске сценария с жесткого диска вашего компьютера команда location. href покажет полный путь к файлу со сценарием (рис. 10.15).


Рис. 10.15. Путь к файлу со сценарием

Методы объекта Location позволяют перезагружать текущую веб-страницу или менять URL-адрес, загружать другую веб-страницу вместо предыдущей. При этом будет невозможен переход к предыдущей странице с помощью кнопки Назад в браузере пользователя. Возникает эффект, что страницы как бы подменяются друг другом.

Рассмотрим подробнее методы объекта Location.

• assign() – загружает другую страницу, меняя URL-адрес текущей веб-страницы на адрес, указанный в параметре метода.

• reload() – обновляет текущую веб-страницу (не всегда срабатывает правильно, поскольку некоторые браузеры все равно берут эту страницу из кэша, не обращаясь к серверу).

• replace() – замена текущей веб-страницы страницей, URL которой указан в параметре метода. При этом в списке истории браузера адрес предыдущего HTML-документа заменяется адресом нового.

В листинге 10.17 приведен пример сценария, содержащего один из методов объекта Location – метод replace().

Листинг 10.17. Использование метода replace()

<html>

<head>

<title>Метод replace()</title>

<script language=JavaScript>

<!– Маскировка сценария

function replaceDoc()

{

window.location.replace("http://www.yandex.ru") //код JavaScript

}

// Конец маскировки сценария –>

</script>

</head>

<body>

<input type="button" value="Replace" /> //кнопка

</body>

</html>

Сценарий позволяет изменить текущую страницу в окне браузера на главную страницу сайта www.yandex.ru. За это отвечает функция replaceDoc(), которая вызывается при нажатии кнопки Replace (рис. 10.16).


Рис. 10.16. Кнопка Replace

Таким образом, объект Location позволяет не только определять адрес загруженного в браузер HTML-документа, но, что более важно, загружать в текущее окно новую вебстраницу.

Итак, мы рассмотрели объекты браузера, их свойства и методы. Для HTML-документа и его содержимого в языке JavaScript также определены свои объекты.

Оглавление книги


Генерация: 0.085. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз