[Содержание] [Предыдущая] [Следующая] [Индекс]

Location

Содержит информацию о текущем URL.

Объект client-side
Реализовано в Navigator 2.0
Navigator 3.0: добавлены методы reload, replace

Создание

Объекты Location являются предопределенными объектами JavaScript, к которым Вы обращаетесь через свойство location объекта Window:

Описание

Объект location представляет полный URL, связанный с данным объектом Window. Каждое свойство объекта location представляет различную часть URL.

Вообще, URL имеет следующую форму:

protocol//host:port/pathname#hash?search
Например:

http://home.netscape.com/assist/extensions.html#topic1?x=7&y=2
Эти части служат следующим целям:

Объект Location имеет свойство для каждой из этих частей URL. Смотрите индивидуальные свойства для подробной информации. Объект Location имеет два других свойства, не показанные здесь:

Если Вы присваиваете строку свойству location объекта, JavaScript создает объект location и назначает эту строку его свойству href. Например, следующие два выражения эквивалентны и устанавливают URL текущего окна равным домашней странице Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"
Объект location содержится в окне window и находится внутри его контекста. Если Вы ссылаетесь к объекту location не определяя окно, объект location представляет текущее расположение. Если Вы ссылаетесь к объекту location и определяете имя окна, как в windowReference.location, объект location представляет расположение определенного окна.

В обработчиках событий, Вы должны определить window.location вместо использования просто location. Из-за обзора статических объектов в JavaScript, запрос к location без определения имени объекта эквивалентен document.location, которое является синонимом для document.URL.

Location не свойство объекта document; он эквивалентен свойству document.URL. Свойство document.location, которое является синонимом для document.URL, будет удалено в будущем выпуске.

Как документы загружаются, когда location устанавливается

Загружается ли новый документ, когда Вы устанавливаете объект location или любое из свойств за исключением hash, зависит от версии браузера:

Синтаксис для общих типов URL

Когда Вы определяете URL, Вы можете использовать стандартные форматы URL и выражения JavaScript. Таблица 6.2 показывает синтаксис для определения части наиболее общих типов URL.

Таблица 6.2 синтаксис URL.  
Тип URL Протокол Пример
Код JavaScript javascript: javascript:history.go(-1)
Просмотр источника Navigator view-source: view-source:wysiwyg://0/file:/c|/temp/genhtml.html
Информация Navigator about: about:cache
Всемирная сеть http: http://home.netscape.com/
Файл file:/ file:///javascript/methods.html
FTP ftp: ftp://ftp.mine.com/home/mine
MailTo mailto: mailto:info@netscape.com
Usenet news: news://news.scruznet.com/comp.lang.javascript
Gopher gopher: gopher.myhost.com

Протокол javascript: оценивает выражение после двоеточия (:), если имеется, и загружает страницу, содержащую строковое значение выражения, если оно не неопределено. Если выражение оценивается как undefined (вызов функции void, например javascript:void(0)), новая страница не загружается. Обратите внимение, что загрузка новой страницы поверх страницы с Вашим сценарием очищает на странице переменные, функции и так далее.

Протокол view-source: показывает код HTML, который был сгенерирован JavaScript методами document.write и document.writeln. Для информации о печати и сохранении сгенерированного HTML, смотрите write.

Протокол about: обеспечивает информацию о Navigator и имеет следующий синтаксис:

about:
about:cache
about:plugins

Резюме Свойств

hash
Определяет имя якоря в URL.
host
Определяет хост и доменное имя или IP адрес сетевого хоста.
hostname
Определяет host:port часть URL.
href
Определяет весь URL.
pathname
Определяет URL-путь часть URL.
port
Определяет коммуникационный порт, который сервер использует.
protocol
Определяет начало URL, включая двоеточие.
search
Определяет запрос.

Резюме Методов

reload
Вынуждает перезагрузку текущего документа окна.
replace
Загружает определенный URL в текущую запись хронологии.

Примеры

Пример 1. Следующие два выражения эквивалентны и устанавливают URL текущего окна к домашней странице Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"
Пример 2. Следующее выражение устанавливает URL кадра, названного frame2, к домашней странице Sun:

parent.frame2.location.href="http://www.sun.com/"
Смотрите так же примеры для Anchor.

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

History, document.URL

Свойства

hash

Строка, начинающаяся знаком диез (#), который определяет имя якоря в URL.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство hash определяет часть URL. Это свойство применяется только к HTTP URL.

Вы можете устанавливать свойство hash в любое время, хотя более надежно устанавливать свойство href изменяя расположение. Если hash, который Вы определили, не может быть найден в текущем расположении, Вы получаете ошибку.

При установке свойства hash происходит перемещение к именованному якорю без перезагрузки документа. Это отличается от способа, которым документ загружается, когда устанавливаются другие свойства location (смотрите "Как документы загружаются, когда location установливается").

Смотрите RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о hash.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.hash = " +
   newWindow.location.hash + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.hash = #checkbox_object

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

Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

host

Строка, определяющая имя сервера, поддомен и доменное имя.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство host определяет часть URL. Свойство host подстрока свойства hostname. Свойство hostname объединяет свойства host и port, отделяемые двоеточием. Когда свойство port равно null, свойство host тоже самое, что и свойство hostname.

Вы можете устанавливать свойство host в любое время, хотя более надежно установить свойство href изменяя расположение. Если хост, который Вы определили, не может быть найден в текущем расположении, Вы получаете ошибку.

Смотрите Раздел 3.1 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о host-имени и порте.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображает свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.host = " +
   newWindow.location.host + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.host = home.netscape.com

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

Location.hash, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

hostname

Строка, содержащая полное host-имя сервера, включая имя сервера, поддомен, домен и номер порта.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство hostname определяет часть URL. Свойство hostname объединяет свойства host и port, отделяемые двоеточием. Когда свойство port равно 80 (по умолчанию), свойство host тоже самое, что и свойство hostname.

Вы можете устанавливать свойство hostname в любое время, хотя более надежно установить свойство href, изменяя расположение. Если host-имя, которое Вы определили, не может быть найдено в текущем расположении, Вы получаете ошибку.

Смотрите Раздел 3.1 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о host-имени.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображает свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.hostName = " +
   newWindow.location.hostName + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.hostName = home.netscape.com

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

Location.hash, Location.host, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

href

Строка, определяющая весь URL.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство href определяет весь URL. Другие свойства объекта location это подстроки свойства href. Если Вы хотите изменить URL, связанный с окном, Вы должны делать это, заменяя свойство href; это правильно модифицирует все другие свойства.

Вы можете устанавливать свойство href в любое время.

Опущение имени свойства объекта location эквивалентно определению location.href. Например, следующие два выражения эквивалентны и устанавливают URL текущего окна к домашней странице Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"
Смотрите RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации об URL.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают все свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.protocol = " +
   newWindow.location.protocol + "<P>")
msgWindow.document.write("newWindow.location.host = " +
   newWindow.location.host + "<P>")
msgWindow.document.write("newWindow.location.hostName = " +
   newWindow.location.hostName + "<P>")
msgWindow.document.write("newWindow.location.port = " +
   newWindow.location.port + "<P>")
msgWindow.document.write("newWindow.location.pathname = " +
   newWindow.location.pathname + "<P>")
msgWindow.document.write("newWindow.location.hash = " +
   newWindow.location.hash + "<P>")
msgWindow.document.write("newWindow.location.search = " +
   newWindow.location.search + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.protocol = http:
newWindow.location.host = home.netscape.com
newWindow.location.hostName = home.netscape.com
newWindow.location.port =
newWindow.location.pathname =
   /comprod/products/navigator/version_2.0/script/
   script_info/objects.html
newWindow.location.hash = #checkbox_object
newWindow.location.search =

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

Location.hash, Location.host, Location.hostname, Location.pathname, Location.port, Location.protocol, Location.search

pathname

Строка, определяющая URL-путь часть URL.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство pathname определяет часть URL. Имя пути обеспечивает подробности того, как к определенному ресурсу можно обратиться.

Вы можете устанавливать свойство pathname в любое время, хотя более надежно установить свойство href, изменяя расположение. Если имя пути, которое Вы определите, не может быть найдено в текущем расположении, Вы получаете ошибку.

Смотрите Раздел 3.1 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации об имени пути.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.pathname = " +
   newWindow.location.pathname + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.pathname =
   /comprod/products/navigator/version_2.0/script/
   script_info/objects.html

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

Location.hash, Location.host, Location.hostname, Location.href, Location.port, Location.protocol, Location.search

port

Строка, определяющая коммуникационный порт, который использует сервер.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство port определяет часть URL. Свойство port это подстрока свойства hostname. Свойство hostname объединяет свойства host и port, отделяемые двоеточием.

Вы можете устанавливать свойство port в любое время, хотя более надежно установить свойство href, изменяя расположение. Если порт, который Вы определите, не может быть найден в текущем расположении, Вы получаете ошибку. Если свойство port не определено, оно равно 80 по умолчанию.

Смотрите Раздел 3.1 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о порте.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.port = " +
   newWindow.location.port + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.port =

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

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.protocol, Location.search

protocol

Строка, определяющая начало URL, включая первое двоеточие.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство protocol определяет часть URL. Протокол указывает метод доступа к URL. Например, значение "http:" определяет Протокол Передачи Гипертекста, а значение "javascript:" определяет код JavaScript.

Вы можете устанавливать свойство protocol в любое время, хотя более надежно установить свойство href, изменяя расположение. Если протокол, который Вы определяете, не может быть найден в текущем расположении, Вы получаете ошибку.

Свойство protocol представляет имя схемы URL. Смотрите Раздел 2.1 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о протоколе.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.protocol = " +
   newWindow.location.protocol + "<P>")
msgWindow.document.close()
Предыдущий пример показывает вывод типа следующего:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.protocol = http:

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

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.search

search

Строка, начинающаяся вопросительным знаком, которая определяет любую информацию запроса в URL.

Свойство объекта Location
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство search определяет часть URL. Это свойство применяется только к HTTP URL.

Свойство search содержит пары: значение - переменная; каждая пара отделяется символом амперсанда. Например, две пары в строке поиска могли бы выглядеть следующим образом:

?x=7&y=5
Вы можете устанавливать свойство search в любое время, хотя более надежно установить свойство href, изменяя расположение. Если поиск, который Вы определяете, не может быть найден в текущем расположении, Вы получаете ошибку.

Смотрите Раздел 3.3 RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) для полной информации о поиске.

Примеры

В следующем примере, выражение window.open создает окно с именем newWindow и загружает определенный URL в него. Выражения document.write отображают свойства newWindow.location в окне с именем msgWindow.

newWindow=window.open
   ("http://guide-p.infoseek.com/WW/NS/Titles?qt=RFC+1738+&col=WW")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.close()
msgWindow.document.write("newWindow.location.search = " +
   newWindow.location.search + "<P>")
msgWindow.document.close()
Предыдущий пример показывает следующий вывод:

newWindow.location.href =
   http://guide-p.infoseek.com/WW/NS/Titles?qt=RFC+1738+&col=WW
newWindow.location.search = ?qt=RFC+1738+&col=WW

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

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol

Методы

reload

Вынуждает перезагрузку текущего документа окна (документа, определенного свойством Location.href).

Метод объекта Location
Реализовано в Navigator 3.0

Синтаксис

reload(forceGet)

Параметры

forceGet
(Факультативный) Если Вы определяете true, вынуждает безусловный HTTP GET документа с сервера. Это не должно использоваться, если у Вас нет причин предполагать, что диск и кэши памяти выключены или неисправны, или сервер имеет новую версию документа (например, если он генерируется CGI при каждом запросе).

Описание

Этот метод использует ту же самую стратегию, как и кнопка "Обновить" браузера. Пользовательский интерфейс для установки значения по умолчанию этой стратегии изменяется в различных версиях браузера.

По умолчанию, метод reload не вынуждает транзакцию с сервером. Однако, если пользователь установил в свойствах "проверять каждый раз", метод делает "условный GET" запрос, использующий If-modified-since HTTP заголовок, чтобы запросить сервер возвратить документ только, если время последней модификации больше чем время в кэше. Другими словами, reload перезагружает из кэша, если пользователь не определил "проверять каждый раз" и документ не изменился на сервере, по сравнению с документом, сохраненым в кэше.

Примеры

Следующий пример показывает изображение и три "радио" кнопки. Пользователь может нажимать "радио" кнопки, чтобы выбрать, которое изображение отобразить. Щелчок другой кнопки позволяет пользователю перезагрузить документ.

<SCRIPT>
function displayImage(theImage) {
   document.images[0].src=theImage
}
</SCRIPT>
<FORM NAME="imageForm">
<B>Выберите изображение:</B>
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED
   onClick="displayImage('seaotter.gif')">Морская выдра
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2"
   onClick="displayImage('orca.gif')">Кит убийца
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3"
   onClick="displayImage('humpback.gif')">Кит горбун
<BR>
<IMG NAME="marineMammal" SRC="seaotter.gif" ALIGN="left" VSPACE="10">
<P><INPUT TYPE="button" VALUE="Нажмите здесь, чтобы перезагрузить"
   onClick="window.location.reload()">
</FORM>

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

Location.replace

replace

Загружает определенный URL в текущую запись хронологии.

Метод объекта Location
Реализовано в Navigator 3.0

Синтаксис

replace("URL")

Параметры

URL
Определяет URL для загрузки.

Описание

Метод replace загружает определенный URL в текущую запись хронологии. После вызова метода replace, пользователь не может перейти к предыдущему URL, используя кнопку "Назад" браузера.

Если Ваша программа будет выполнена с JavaScript в Navigator 2.0, Вы могли бы поместить следующую строку в тэг SCRIPT в Вашей программе. Она эмулирует replace, который введен в Navigator 3.0:

if (location.replace == null)
   location.replace = location.assign
Метод replace не создает новую запись в списке хронологии. Чтобы создать запись в списке хронологии при загрузке URL, используйте метод History.go.

Примеры

Следующий пример позволяет пользователю выбрать какой каталог отобразить. Пример показывает два набора "радио" кнопок, которые поволяют пользователю выбрать сезон и категорию, например Одежда Весна/Лето каталог или Дом & Сад Осень/Зима каталог. Когда пользователь нажимает кнопку Перейти, функция displayCatalog выполнет метод replace, заменяя текущий URL на URL, соответствующий каталогу, который пользователь выбрал. После вызова displayCatalog, пользователь не может перейти к предыдущему URL (список каталогов) используя кнопку "Назад" браузера.

<SCRIPT>
function displayCatalog() {
   var seaName=""
   var catName=""
   for (var i=0; i < document.catalogForm.season.length; i++) {
      if (document.catalogForm.season[i].checked) {
         seaName=document.catalogForm.season[i].value
         i=document.catalogForm.season.length
      }
   }
   for (var i in document.catalogForm.category) {
      if (document.catalogForm.category[i].checked) {
         catName=document.catalogForm.category[i].value
         i=document.catalogForm.category.length
      }
   }
   fileName=seaName + catName + ".html"
   location.replace(fileName)
}
</SCRIPT>
<FORM NAME="catalogForm">
<B>Который каталог Вы хотите видеть?</B>
<P><B>Сезон</B>
<BR><INPUT TYPE="radio" NAME="season" VALUE="q1" CHECKED>Весна/Лето
<BR><INPUT TYPE="radio" NAME="season" VALUE="q3">Осень/Зима
<P><B>Категория</B>
<BR><INPUT TYPE="radio" NAME="category" VALUE="clo" CHECKED>Одежда
<BR><INPUT TYPE="radio" NAME="category" VALUE="lin">Ткани
<BR><INPUT TYPE="radio" NAME="category" VALUE="hom">Дом & Сад
<P><INPUT TYPE="button" VALUE="Перейти" onClick="displayCatalog()">
</FORM>

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

History, Window.open, History.go, Location.reload


[Содержание] [Предыдущая] [Следующая] [Индекс]

Последняя Модификация: 10/31/97 12:31:44


Права © 1997 Netscape Communications Corporation



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz