Если у меня есть ссылка, которая изменяется с функцией history.pushState({}, "", link);
, где мой link
является, например page.php?value=1&value2=2
Есть ли способ, чтобы просто изменить value2
с pushState()
функции вместо изменения всей ссылки?history.pushState) запрос изменения (значения
ответ
Если то, что вы пытаетесь сделать, это изменить URL без добавления дополнительной записи к объект истории, вы можете попробовать replaceState
.
history.replaceState({value: 1, value2: X}, "title", "page.php");
Нет, поскольку строка запроса является частью URL-адреса. Если вам действительно не нужно передавать эти значения для целей сервера, вы можете включить их в сам объект состояния истории, а затем вы можете изменить только объект состояния с помощью pushState()
. Например:
history.pushState({value: 1, value2: 2}, "Title", 'page.php');
history.pushState({value: 1, value2: 'new value'}, "Title");
Вы можете использовать эту полезную функцию для изменения значения параметра строки запроса:
function updateParam(url, param, value)
{
var re = new RegExp(param+"(.+?)(&|$)","g");
return url.replace(re, param+'='+value)
}
Эта последняя строка должна быть «url.replace (re, param + '=' + value + '$ 2')', правильно? В противном случае вы потеряете разделитель амперсандов. – Ricky
- 1. Использование history.pushState с рельсами ajax-запрос
- 2. Обновить запрос для изменения значения
- 3. HTML5 history.pushState
- 4. Javascript history.pushState
- 5. history.pushState - не работает?
- 6. history.pushState удаление части url
- 7. Laravel запрос 5,1 обновления не изменения значения
- 8. history.pushState не вызывает 'popstate' событие
- 9. Я не работаю history.pushState
- 10. YouTube не запускает history.pushState
- 11. Chrome 38 Extension - history.pushState
- 12. изменить url с history.pushState
- 13. history.pushState не работает в контроллере
- 14. Как удалить записи истории, добавленные через history.pushstate?
- 15. кнопку доля Facebook/history.pushstate/неправильный URL
- 16. Есть ли обратный вызов для History.pushstate?
- 17. Использование history.pushstate на jquery ajax
- 18. Hack держать history.pushState ie8-9
- 19. мониторинг history.pushstate от хромированного расширения
- 20. response-router + history.pushState не работает
- 21. Вызов history.pushState на DataTable rowSelect
- 22. любой реализованный history.pushstate() и window.onpopstate()?
- 23. Как я могу использовать history.pushState?
- 24. History.pushState создает большое количество записей
- 25. предотвращает 404 при использовании history.pushState
- 26. Получение состояния после HTML5 history.pushState (...)
- 27. Angular $ location.state() vs history.pushState поведение
- 28. Обновить оригинальный URL, используя history.pushState()
- 29. Как заставить IE игнорировать history.pushState?
- 30. «history.pushState» изменяет содержимое веб-страницы?
Это не похоже на ответ. Передача объекта в качестве первого аргумента функции replaceState не влияет на значения запроса в URL-адресе. Только последний аргумент будет: В этом примере он полностью удалит запрос. –
OP хотел обновить (а не создать новое) значение в текущем состоянии истории. Хотя вы не можете использовать pushState для изменения объекта состояния, это цель replaceState. – devstruck