Оглавление | Назад | Вперёд | Индекс

Location

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

Клиентский объект

Реализован в

JavaScript 1.0

JavaScript 1.1: добавлены методы 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 и находится в его области видимости/scope. Если Вы обращаетесь к объекту location без специфицирования window, объект location представляет текущее окно. Если Вы обращаетесь к объекту location и специфицируете имя окна, как, например, windowReference.location, объект location представляет местоположение в специфицированном окне.

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

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

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

Синтаксис обычных типов URL. Если Вы специфицируете URL, можно использовать стандартные форматы URL и операторы JavaScript. В таблице показан синтаксис для специфицирования наиболее распространённых типов URL.

Таблица 1.1  Синтаксис URL.
URL-типПротокол Пример

JavaScript-код

javascript:

javascript:history.go(-1)

Программа просмотра исходного кода в Navigator'е

view-source:

view-source:wysiwyg://0/file:/c|/temp/genhtml.html

Navigator info

about:

about:cache

World Wide Web

http:

http://home.netscape.com/

File

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

Далее идут пояснения по некоторым протоколам:

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

Свойство Описание
hash

Специфицирует имя якоря в URL.

host

Специфицирует имя хоста и домена или IP-адрес сетевого хоста.

hostname

Специфицирует часть host:port в URL.

href

Специфицирует полный URL.

pathname

Специфицирует часть URL-пути в URL.

port

Специфицирует порт, используемый сервером при соединении.

protocol

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

search

Специфицирует запрос.

Методы. Резюме.

Метод Описание
reload

Форсирует перезагрузку текущего документа окна.

replace

Загружает специфицированный URL поверх текущего вхождения в списке history.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 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

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский 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

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство host специфицирует часть URL. Свойство host является подстрокой свойства hostname. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием. Если значение свойства port равно null, свойство host будет тем же самым, что и свойство hostname.

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

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

Пример

Здесь оператор 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


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

Свойство из

Location

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство hostname специфицирует часть URL. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host будет таким же, что и свойство hostname.

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

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

Примеры

Здесь оператор 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

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский 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-path в URL.

Свойство из

Location

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

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

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

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

Примеры

В этом примере оператор 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

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство port специфицирует часть URL. Свойство port является подстрокой свойства hostname. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием.

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

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

Пример

В этом примере оператор 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

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство protocol специфицирует часть URL. Свойство protocol указывает метод доступа URL. Например, значение "http:" специфицирует протокол HyperText Transfer Protocol, а значение "javascript:" специфицирует код JavaScript.

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

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

Пример

В этом примере оператор 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

reload


Форсирует перезагрузку текущего документа окна (документа, специфицированного свойством Location.href).

Метод из

Location

Реализован в

JavaScript 1.1

Синтаксис

reload([forceGet])

Параметр

forceGet

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

Описание

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

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

Пример

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

<SCRIPT>
function displayImage(theImage) {
   document.images[0].src=theImage
}
</SCRIPT>
<FORM NAME="imageForm">
<B>Choose an image:</B>
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED
   onClick="displayImage('seaotter.gif')">Sea otter
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2"
   onClick="displayImage('orca.gif')">Killer whale
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3"
   onClick="displayImage('humpback.gif')">Humpback whale
<BR>
<IMG NAME="marineMammal" SRC="seaotter.gif" ALIGN="left" VSPACE="10">
<P><INPUT TYPE="button" VALUE="Click here to reload"
   onClick="window.location.reload()">
</FORM>

См. также

Location.replace

replace


Загружает специфицированный URL поверх текущего вхождения в списке history.

Метод из

Location

Реализован в

JavaScript 1.1

Синтаксис

replace(URL)

Параметр

URL

Строка, специфицирующая URL для загрузки.

Описание

Метод replace загружает специфицированный URL поверх текущего вхождения в списке history. После вызова метода replace пользователь не может перейти к предыдущему URL, щёлкнув кнопку Back браузера.

Если Ваша программа работает с JavaScript 1.0, Вы можете поместить следующие строки в тэг SCRIPT перед Вашей программой. Это эмулирует replace, который был введён в JavaScript 1.1:

if (location.replace == null)
   location.replace = location.assign

Метод replace не создаёт новое вхождение в списке history. Для создания нового вхождения в списке history при загрузке URL используйте метод History.go.

Пример

В этом примере пользователь может выбрать из нескольких каталогов. Выводятся два набора радио-кнопок, щёлкая которые пользователь выбирает время года и категорию, например, каталог Spring/Summer Clothing или каталог Fall/Winter Home & Garden. Если пользователь щёлкает кнопку Go, функция displayCatalog выполняет метод replace, замещая текущий URL на URL, соответствующий выбранному каталогу. После вызова displayCatalog пользователь не может перейти к предыдущему URL (списку каталогов) путём использования кнопки Back браузера.

<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>Which catalog do you want to see?</B>
<P><B>Season</B>
<BR><INPUT TYPE="radio" NAME="season" VALUE="q1" CHECKED>Spring/Summer
<BR><INPUT TYPE="radio" NAME="season" VALUE="q3">Fall/Winter
<P><B>Category</B>
<BR><INPUT TYPE="radio" NAME="category" VALUE="clo" CHECKED>Clothing
<BR><INPUT TYPE="radio" NAME="category" VALUE="lin">Linens
<BR><INPUT TYPE="radio" NAME="category" VALUE="hom">Home & Garden
<P><INPUT TYPE="button" VALUE="Go" onClick="displayCatalog()">
</FORM>

См. также

History, window.open, History.go, Location.reload

search


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

Свойство из

Location

Реализовано в

JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

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

Свойство search содержит пары переменная/значение; каждая пара отделяется амперсандом (&). Например, две пары в строке search могут выглядеть так:

?x=7&y=5

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

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

Пример

В этом примере оператор 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
Оглавление | Назад | Вперёд | Индекс

Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation

Hosted by uCoz