Содержит информацию о текущем URL.
Location
-объекты являются предопределёнными объектами JavaScript,
доступ к которым Вы можете получить через свойство location
объекта window
.
Объект location
представляет полный URL, ассоциированный с данным объектом window
.
Каждое свойство объекта location
представляет разные части URL.
protocol//host:port/pathname#hash?search
http://home.netscape.com/assist/extensions.html#topic1?x=7&y=2
Эти части имеют следующее предназначение:
protocol
представляет начало URL до
первого двоеточия включительно.host
это имя хоста и домена или IP-адрес сетевого хоста.port
это порт соединения, используемый
сервером.pathname
это часть URL-путь URL.hash
это фрагмент имени якоря в URL, включая символ хэша (#). Это
свойство применяется только к HTTP URLs.search
это информация запроса, присоединённая к URL, включая знак вопроса (?). Это
свойство применяется только к HTTP URLs.
Строка поиска содержит пары переменная/значение; каждая пара отделена
амперсандом (&).Объект 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
, то, как загружается новый документ, зависит от
версии используемого браузера:
location
выполняет условную операцию ("If-modified-since") HTTP GET, которая не
возвращает с сервера, если только документ не был модифицирован с момента
загрузки последней версии.location
зависит
от установок пользователя для сравнения документа с оригиналом по сети. Опция
интерфейса пользователя для установки этого свойства зависит от версии
браузера. Пользователь определяет, проверять ли документ в кэше браузера
каждый раз при доступе к нему, один раз в сессию или никогда. Документ
перезагружается из кэша, если пользователь установил опции "никогда" или "один
раз в сессию"; документ перезагружается с сервера только в том случае, если
пользователь установил опцию "каждый раз при доступе".Синтаксис обычных типов URL. Если Вы специфицируете URL, можно использовать стандартные форматы URL и операторы JavaScript. В таблице показан синтаксис для специфицирования наиболее распространённых типов URL.
URL-тип | Протокол | Пример |
---|---|---|
Далее идут пояснения по некоторым протоколам:
javascript:
вычисляет
выражение, идущее после двоеточия (:), если оно имеется, и загружает страницу,
содержащую строковое значение выражения, если только оно не undefined. Если
выражение вычисляется в undefined (вызовом void-функции, например,
javascript:void(0)
), новая страница не загружается. Обратите
внимание, что загрузка новой страницы поверх Вашей страницы со скриптом
очищает значения переменных страницы, функции и т.п.view-source:
выводит код HTML, который был сгенерирован
методами JavaScript-методами
document.write
и
document.writeln
. О печати и
сохранении сгенерированного HTML см. document.write
.about:
предоставляет информацию
о Navigator'е. Например:Свойство | Описание |
---|---|
| |
| Специфицирует имя хоста и домена или IP-адрес сетевого хоста. |
| |
| |
| |
| |
| |
|
Метод | Описание |
---|---|
| |
| Загружает специфицированный 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
Строка, начинающаяся со знака хэша (#), специфицирующая имя якоря в URL.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство hash
специфицирует часть URL. Это свойство применяется
только к HTTP URL.
Вы можете установить свойство hash
в любое
время, хотя надёжнее установить свойство href
для изменения местоположения.
Если установленное Вами свойство hash не может быть найдено в текущем месте, Вы
получите ошибку.
Установка свойства hash
даёт переход к именованному якорю без
перезагрузки документа. Это отличается от загрузки документа при установке
других location
-свойств (см. "Как загружаются
документы при установке location").
См. в документе RFC 1738 (
)
полную информацию о 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
Строка, специфицирующая имя сервера, субдомена и домена.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство host
специфицирует часть URL. Свойство host
является подстрокой свойства hostname
. Свойство hostname
получается путём конкатенации свойств host
и port
,
разделённых двоеточием.
Если значение свойства port
равно null, свойство host
будет тем же самым, что и свойство hostname
.
Вы можете установить свойство host
в любое
время, хотя надёжнее установить свойство href
для изменения
местоположения. Если host не может быть найдено в текущем месте, Вы получите
ошибку.
См. в Разделе 3.1 документа RFC 1738 (
)
полную информацию о 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
Строка, содержащая полное имя хоста сервера, включая имя сервера, субдомена и домена и номер порта.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство hostname
специфицирует часть URL. Свойство hostname
получается путём конкатенации свойств host
и port
,
разделённых двоеточием. Если свойство port
имеет значение 80 (это
значение по умолчанию), свойство host
будет таким же, что и
свойство hostname
.
Вы можете установить свойство hostname
в любое время, хотя надёжнее
установить свойство href
для изменения местоположения. Если
специфицированное Вами свойство hostname не может быть найдено в текущем месте,
Вы получите ошибку.
См. в Разделе 3.1 документа RFC 1738 (
)
полную информацию о 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
Строка, специфицирующая полный URL.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство 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 (
)
полную информацию о 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
Строка, специфицирующая часть URL-path в URL.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство pathname
специфицирует часть URL. Свойство pathname
указывает детали получения доступа к специфицированному ресурсу.
Вы можете установить свойство pathname
в
любое время, хотя надёжнее установить свойство href
для изменения
местоположения. Если специфицированное Вами свойство pathname не может быть найдено в текущем месте, Вы
получите ошибку.
См. в Разделе 3.1 документа RFC 1738 (
)
полную информацию о 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
Строка, специфицирующая коммуникационный порт, используемый сервером.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство port
специфицирует часть URL. Свойство port
является подстрокой свойства hostname
. Свойство hostname
получается путём конкатенации свойств host
и port
,
разделённых двоеточием.
Вы можете установить свойство port
в любое
время, хотя надёжнее установить свойство href
для изменения
местоположения. Если специфицированное Вами свойство port не может быть найдено в текущем месте, Вы получите
ошибку. Если свойство port
не специфицировано, он имеет значение по
умолчанию 80.
См. в Разделе 3.1 документа RFC 1738 (
)
полную информацию о 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
Строка, специфицирующая начало URL до первого двоеточия включительно.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство protocol
специфицирует часть URL. Свойство protocol
указывает метод доступа URL. Например, значение "http:"
специфицирует протокол HyperText Transfer
Protocol, а значение "javascript:"
специфицирует код JavaScript.
Вы можете установить свойство protocol
в
любое время, хотя надёжнее установить свойство href
для изменения
местоположения. Если специфицированное Вами свойство protocol не может быть найдено в текущем месте, Вы
получите ошибку.
Свойство protocol
представляет имя схемы URL.
См. в Разделе 2.1 документа RFC 1738 (
)
полную информацию о 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
Форсирует
перезагрузку текущего документа окна (документа, специфицированного свойством Location.href
).
reload([forceGet])
Этот метод использует ту же политику, что и кнопка 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
Загружает специфицированный URL поверх текущего вхождения в списке history.
replace(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
Строка, начинающаяся со знака вопроса, которая специфицирует в URL любую информацию запроса.
JavaScript 1.1.
По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу
Свойство search
специфицирует часть URL. Это свойство применяется только
к HTTP URLs.
Свойство search
содержит пары
переменная/значение;
каждая пара отделяется амперсандом (&). Например, две
пары в строке search могут выглядеть так:
?x=7&y=5
Вы можете установить свойство search
в любое время, хотя надёжнее
установить свойство
href
для изменения местоположения. Если установленное Вами свойство search не может быть
найдено в текущем месте, Вы получите ошибку.
См. в Разделе 3.3 документа RFC 1738 (
)
полную информацию о 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