2014-02-17 2 views
0

Я хочу просто перезагрузить страницу с помощью новой строки запроса, когда пользователь заполняет настройки в форме. Я мог бы использовать location.href и просто перенаправить их на одну страницу с новой строкой запроса, но я хочу, чтобы пользователь мог один раз щелкнуть один раз, чтобы вернуться на предыдущую страницу. Используя параметр location.href, каждый раз, когда они меняют настройку, он добавляет историю браузера, и им приходится ударять столько раз, сколько они меняют настройки, чтобы вернуться к предыдущей странице.location.reload() с новой строкой запроса

Я попытался использовать location.assign(), и это, казалось, работало в firefox, когда я последовал за ним с помощью location.reload() сразу после этого, но он не работал в chrome.

Это можно сделать?

ТИА

+0

№ location.reload() перезагрузит страницу, период. –

+0

Почему вы это делаете? Обновление страницы каждый раз, когда пользователь заполняет поле, вероятно, является неправильным способом достижения всего, что вы пытаетесь выполнить. –

+0

@VolkanUlukut Я не обновляюсь после заполнения каждого поля, я обновляюсь после заполнения набора полей и нажатия кнопки. –

ответ

1

В зависимости от того, что браузеры вы пытаетесь поддержать, вы должны смотреть в history.replaceState

Так что вы могли бы сделать что-то вроде:

history.replaceState(null, null, location.href + queryString);

И, конечно, вы бы заполните необходимые аргументы null.

+0

, похоже, это просто добавляет еще одну запись в историю браузера, которая прямо противоположна тому, что я пытаюсь сделать. –

+0

О, я не понял вопрос правильно. Вы ищете 'replaceState'. То есть, если я правильно понял сейчас. Обновлен мой ответ. –

+0

это замечательно. Я использовал replaceState(), а затем reload(), и он работает точно так, как я хочу. Благодарю. –

Смежные вопросы