Я знаю, что об этом уже много раз спрашивали, но ответы не были достаточно описательными, чтобы решить мою проблему. Я не хочу менять весь URL-адрес страницы. Я хочу добавить параметр &item=brand
при нажатии кнопки без обновления.
Использование document.location.search += '&item=brand';
приводит к обновлению страницы.
Использование window.location.hash = "&item=brand";
добавления без обновления, но с хешем #
, который исключает использование / эффект параметра. Я попытался удалить хеш после добавления, но это не сработало.
Этот ответ и многие другие предлагают использовать API истории HTML5, в частности метод history.pushState
, а для старых браузеров - установить идентификатор фрагмента для предотвращения перезагрузки страницы. Но как?
Предполагается, что URL-адрес: http://example.com/search.php?lang=en
Как я могу добавить &item=brand
с помощью метода HTML5 pushState или идентификатора фрагмента, чтобы результат был таким: http://example.com/search.php?lang=en&item=brand
без обновления страницы?
Я надеюсь, что кто-то сможет пролить свет на то, как использовать HTML5 pushState для добавления параметра к существующему / текущему URL-адресу. Или, альтернативно, как установить идентификатор фрагмента для той же цели. Хорошее руководство, демонстрация или фрагмент кода с небольшим объяснением было бы замечательно.
Демонстрация того, что я сделал до сих пор. Будем признательны за ваши ответы.