В веб-приложении, над которым я работаю, когда кто-то хочет изменить свое местоположение поиска (для карты), он нажимает кнопку, которая вызывает наложение ... наложение имеет 3 вкладки: Поиск по местоположению,Переменные и Станции.То, что я пытаюсь сделать, - это обновлять URL-адрес всякий раз, когда накладывается оверлей, и также меняться в зависимости от того, на какой вкладке они находятся.Таким образом, когда они разделяют URL, точное наложение будет показано и для другого человека.
Я пробовал push / replaceState () из https://developer.mozilla.org/en-US/docs/Web/API/History_API, который обновляет URL;но когда я закрываю оверлей, тот же URL-адрес все еще отображается ... также, когда я пытаюсь вернуться к тому же URL-адресу, оверлей не отображается.
Любые идеи будут оценены.Спасибо!
Код ... имейте в виду, я пробовал несколько разных сценариев, поэтому есть закомментированные строки
// function addURL(element) {
// $(element).attr('href', function() {
// window.location.href = window.location +"&"+ "searrch";
// // return window.location.href
// });
// }
var stateObj = { foo: "bar" };
function change_my_url()
{
// history.replaceState(stateObj, "page 2", "#search");
// Prevent default click action
event.preventDefault();
// Detect if pushState is available
if(history.pushState) {
history.pushState(null, null, $(this).attr('href'));
}
return false;
}
var link = document.getElementById('nav-search-btn');
link.addEventListener('click', change_my_url, true);