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]