Значением этого свойства является объект типа Location.
Объект Location
Метод toString этого объекта возвращает URL, а различные свойства позволяют получить/установить отдельные компоненты адреса.
Для некоторых строковых операций необходимо явно преобразовать Location к строке:
window.location.toString().charAt(17)
Свойства объекта Location
Все следующие свойства являются строками.
Колонка "Пример" содержит их значения для URL:
http://www.google.com:80/search?q=javascript#test
Свойство
Описание
Пример
hash
часть URL, которая идет после символа решетки '#', включая символ '#'
#test
host
хост и порт
www.google.com:80
href
весь URL
http://www.google.com:80/search?q=javascript#test
hostname
хост (без порта)
www.google.com
pathname
строка пути (относительно хоста)
/search
port
номер порта
80
protocol
протокол
http:
search
часть адреса после символа ?, включая символ ?
?q=javascript
В Firefox есть баг: если hash-компонент адреса содержит закодированные (см. encodeURIComponent) символы, свойство hash возвращает раскодированный компонент. Например, вместо %20 будет пробел и т.п. Другие браузеры ведут себя корректно и не раскодируют hash.
Методы объекта Location
assign(url)
загрузить документ по данному url
reload([forceget])
перезагрузить документ по текущему URL. Аргумент forceget - булево значение, если оно true, то документ перезагружается всегда с сервера, если false или не указано, то браузер может взять страницу из своего кэша.
replace(url)
заменить текущий документ на документ по указанному url. Разница, по сравнению с assign() заключается в том, что после использования replace() страница не записывается в истории посещений. В частности, это значит, что посетитель не сможет использовать для возврата кнопку браузера "Назад".
toString()
возвращает строковое представление URL для объекта Location
При изменении любых свойств window.location, документ будет перезагружен, как если бы для модифицированного url был вызван метод window.location.assign().
Пример: перейти на документ по адресу
function goJs(){
window.location = "http://javascript.ru"}
Пример: вывести свойства текущего 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'));
}alert(t.join('\n'));
}
Пример: сделать запрос с новыми параметрами
function sendData(dat){
window.location.search = dat;
}
При вызове sendData('My Data') на сервер оправится строка
с параметрами "?My%20Data".
Это интересно
Каждый день Google обрабатывает более трёх миллиардов поисковых запросов. При этом примерно 15% запросов из этого числа — абсолютно новые, то есть никогда не встречавшиеся Гуглу ранее.