Fix Blog » Blog Archive » javascript window location

javascript window location

window.location

Получает/устанавливает URL окна и его компоненты

Описание, примеры

Значением этого свойства является объект типа 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
1 function showLoc() {
2 var x = window.location;
3 var t = ['Property - Typeof - Value',
4 'window.location - ' + (typeof x) + ' - ' + x ];
5 for (var prop in x){
6 t.push(prop + ' - ' + (typeof x[prop]) + ' - ' +  (x[prop] || 'n/a'));
7 }
8 alert(t.join('\n'));
9 }


Пример: сделать запрос с новыми параметрами
1 function sendData(dat)
2 {
3 window.location.search = dat;
4 }

При вызове sendData('My Data') на сервер оправится строка
с параметрами "?My%20Data".



This entry was posted on Понедельник, Март 15th, 2010 at 2:20 пп and is filed under Note. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Я не спаммер.