изменение URL страницы без обновления страницы

Возможно ли это?

Вот проблема:

У меня есть поиск по ключевым словам с этим URL (после поиска): http: // localhost / thi / search? Keyword = key

Затем у меня есть ползунок, который использует плагин AjaxForm (jquery) …

когда я выполняю поиск слайдера, очевидно, что я по-прежнему буду находиться в URL-адресе поиска по ключевым словам (потому что запрос отправляется через ajax)

Есть ли способ изменить текущий URL-адрес на что-то вроде http: // localhost / thi / search? Price = 100 (ползунок отправляется через GET с ценой в качестве переменной GET)

Я хочу сделать это, потому что хочу, чтобы результаты поиска с ползунка были помечены в закладки … или есть ли альтернативный способ сделать это?

Вы можете использовать хэш-URL (поиск # price = 100) с помощью методов window.location.hash . Они получат закладки, и пользователь сможет перемещаться по ним с помощью кнопок «назад» и «вперед».

Пример использования:

 <a href="#">100</a> $('a').click(function() { window.location.hash = 'price='+$(this).html(); return false; }); 

Установит URL для search#price=100 без обновления.

Лучшее, что я могу предложить для этого, – это использовать хэш в URL-адресе. Это позволит пользователям добавлять URL-адрес и сохранять статус, когда они возвращаются. Другое преимущество заключается в том, что вы можете изменить хеш без обновления страницы.

Таким образом, ваш URL-адрес будет выглядеть примерно так: http: // localhost / thi / search? Keyword = key # price = 100

Плагин JQuery Address отлично работает для этого.

http://www.asual.com/jquery/address/

С HTML5 это возможно. Используйте window.history.pushState ().

Пример :

 if(currentHref!=window.location){ window.history.pushState({path:currentHref},'',currentHref); } 

Подробности и объяснения: http://tinywall.info/2012/02/22/change-browser-url-without-page-reload-refresh-with-ajax-request-using-javascript-html5-history-api-php- JQuery-как-facebook-GitHub-навигации меню /