2015-02-03 4 views
-1

Я не могу понять, как реализовать функцию «вернуться» для страницы.Функция «вернуться» для страницы

Например, у меня есть A, B, C, D страницы. Между страницами возможное переключение: A -> (B < -> C) -> A или D -> (B < -> C) -> D (A - каталог, B - описание продукта, C - заказ продукта, D - тележка). Переключатель B < -> C может быть неограниченным числом раз, но функция «вернуться» должна перейти на начальную точку (A или D). Страницы B или/и C могут открываться одновременно на разных вкладках из разных начальных точек (A или D).

Использование путей cookie или localstorage? Элементы являются глобальными для всех вкладок браузера.

Использование параметра URL? Это ненужная информация в URL-адресе.

Использование URL с параметром back-url и перенаправление на страницу без него (URL без параметра, но со ссылкой на странице). Один перенаправление для каждой страницы B или C.

Существуют ли другие способы решения проблемы (клиентская или серверная)?

+0

[history.pushState] (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history) –

+0

Что не так с использованием истории броузеров .. 'window.history .back(); ' –

+0

A -> B-> C -> переключатель задней кнопки в B, но нужен A –

ответ

1

Если я правильно понял ваш вопрос, вы можете решить свою проблему, используя location.replace() на страницах B и C для навигации между ними. Это приводит к невозможности сохранения текущей страницы в истории сеансов, так что щелчок назад возвращает пользователя к той странице, на которой она была раньше, до B или C.

Вы можете read more about replace here.

+0

Да, вы правильно поняли мой вопрос. Нет истории - никаких проблем. Родная кнопка назад будет работать, как я хочу. И никаких других «обратных ссылок» на странице. –

+0

Как насчет запроса POST на странице «C» (запрос с формой)? Как пропустить спасение его до истории? –

+0

Возможно, вы можете отправить форму с помощью AJAX? – KaptajnKold

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