window.location — это технология java script по управлению URL. Данный функционал дает довольно обширные возможности для разных направлений: фильтр, перемещение по сайту, поиск и т.д.
Параметры window.location
window.location может получить следующие данные URL:
| Свойство | Описание | Пример |
| 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 |
| origin | протокол + хост | http://google.com |
Есть и другие параметры, чтобы посмотреть все данные URL страницы нужно просканировать их следующим скриптом
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'));
}
Чтобы запустить скрипт нужно установить на странице кнопку и нажать ее
<input type="button" value="showLoc()" onclick="showLoc();">
Получаем данные URL
В данном примере мы соединяем location.origin (https://opttour.ru) и location.pathname (/web/scripts-and-jquery/), тем самым получая исходный url категории, без примесей и добавляем его в ссылку с id=’filter-clear’ (кнопка очистки фильтра)
$(document).ready(function() {
var x = location.origin + location.pathname;
$('#filter-clear').attr('href', x);
});
Проверка: существует ли параметр URL (search, hash)
if(window.location.search) {
location.assign(y + "&select=" + sortValues); //переходим по ссылке + добавляем &сортировку
} else {
location.assign(y + "?select=" + sortValues); //переходим по ссылке + добавляем ?сортировку
}
[site-socialshare]
