Когда форма отправляется на URL-адрес, браузер регистрирует страницу снова в истории. Предположим, я нахожусь на странице X, и я перехожу на страницу Y и отправлю форму. Теперь, когда я нажимаю кнопку в браузере, он снова загружает одну и ту же страницу, т. Е. Страница Y вместо перехода на страницу X. Итак, это представление формы заставляет браузер регистрировать страницу Y в истории браузера. И я поддерживаю все браузеры и устройства. Как удалить последнюю запись в истории браузера или остановить браузер от регистрации страницы снова в истории?Удалить последний элемент в истории браузера
ответ
Вы не можете редактировать историю пользователей. Лучшее, что вы можете сделать в этом отношении, - это изменение, при котором кнопка возврата текущей страницы указывает на location.replace(pageX)
, так что нажатие кнопки «Назад» не перезагружает одну и ту же страницу, а переходит на страницуX. Но проблемы возникнут, если пользователь снова вернется, потому что история для этой страницы снова будет на странице.
Ваш лучший вариант - сохранить отправку формы с обновления страницы в первую очередь. Таким образом, история будет правильной. Это можно сделать, отправив форму с помощью AJAX вместо традиционного метода. Вот пример использования jQuery для предотвращения отправки традиционной формы и последующего запроса AJAX.
$(document).ready(function() {
$('#myform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : $(this).attr('action'),
data: $(this).serialize(),
success: function (data) {
// if you want it to do something when it's done, put it here
},
error: alert("broke"),
type: "GET"
});
});
});
Update
Третий хороший вариант, чтобы просто делать то, что вы заявили в своем комментарии. Если вы используете history.back()
после отправки формы, пользователи Назад История будет работать именно так, как вы хотите. однократное нажатие возвращает их на страницуX. это будет только Вперед История, которая становится странной. Но было бы крайне маловероятно, чтобы кнопка «вперед» была нажата. пользователь Просто перешел на страницу, зачем им нажимать вперед? Затем, как только они перемещаются в другое место, эта странная история перезаписи перезаписывается.
- 1. jQuery Адрес Удалить последний URL из истории
- 2. Multiset удалить последний элемент
- 3. Удалить последний элемент jquery
- 4. Splice удалить последний элемент
- 5. Удалить последний элемент списка
- 6. Удалить последний элемент в jQuery
- 7. Можно ли удалить частности истории браузера
- 8. Как удалить страницу из истории браузера?
- 9. Менеджер истории истории браузера YUI
- 10. Удалить последний элемент после добавления
- 11. JQuery удалить последний созданный элемент
- 12. Удалить последний элемент из URL
- 13. Как удалить последний элемент массива?
- 14. Почему последний элемент называется «удалить»
- 15. JQuery - удалить последний добавочный элемент
- 16. Удалить последний элемент элемента JQuery
- 17. удалить последний элемент Append JQuery
- 18. Удалить последний элемент внутри массива
- 19. Удалить последний элемент из HashMap
- 20. Пролог: Удалить последний элемент списка
- 21. Как удалить последний элемент jQuery?
- 22. C# - String.split() Удалить последний элемент
- 23. Как удалить последний элемент arraylist
- 24. удаление точек истории из браузера
- 25. AngularJS удалить последний элемент массива в рамках
- 26. Python | Как удалить последний элемент в списке?
- 27. Как удалить последний элемент в многомерном массиве?
- 28. Удалить последний элемент в SQLite БД Таблице
- 29. Удалить последний элемент из списка в angularjs
- 30. Как удалить последний элемент коллекции в mongodb
Не могли бы вы просто отправить форму на страницу X, когда это будет сделано, чтобы людям не нужно было нажимать кнопку «Назад»? –
@tylermackenzie Нет, пользователь должен оставаться на той же странице, что и другие функции, отличные от отправки формы. Но даже если я сделаю history.back(), он все равно будет в истории, и если пользователь снова нажмет кнопку «вперед», ему придется дважды щелкнуть кнопку «Назад», чтобы перейти на страницу X, если захочет. –