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