У меня есть функция в моем контроллере, которая меняет URL-адрес браузера, но мне нужно сохранить реальную предыдущую страницу, когда пользователь нажимает кнопку «Назад».
Например:
Пользователь в/дома и перейти к/статье 1. Когда пользователь прокручивает на странице изменить URL, например, в/Статья 2 с помощью:
$location.path('article2');
Но если пользователь нажимает кнопку назад браузера, оставаясь в/Статья 2 изменение URL в/статье 1, и мне действительно нужно перенаправить навигация в/home.
Я использовал этот код:
var previousPage = document.referrer; // Get the previous location on page load
history.pushState({}, '', previousPage); // Alter the history adding the previous page
Но это не работает, потому что в изменении URL с помощью $ местоположения, состояние истории меняется автоматически.
Как сохранить навигацию?
Да, это хороший способ решить эту проблему. Но проблема в том, как перехватить кнопку «Назад в браузере»? –
Вы не можете, и я говорю это легко, потому что есть шанс, что кто-то решил эту проблему. Все браузеры отличаются тем, как они обрабатывают кнопку «Назад», поэтому это очень сложно сделать. Вот почему мы придумали решение выше, как работу с кнопкой назад. Пожалуйста, если вы найдете способ, который мне очень хотелось бы узнать, потому что мы можем использовать его в нашем приложении. – Ohjay44