Вход

Просмотр полной версии : Можно ли добавить элемент во всю историю браузера


Evgeny_Dedov
24.04.2015, 06:56
Здравствуйте.
Помогите пожалуйста как можно "победить" такой момент.

Есть инет магазин.
Выводятся товары списком.

Нажимаем на какой нибудь товар - переходим в подробное описание этого товара, там все фотки, текст и т.д.. И тут же кнопка "Положить в корзину". Сама корзина у меня сделана полностью на AJAX.

То есть чел нажал на кнопку "в корзину" в шапке сайта в корзине появился этот товар, кол-во сумма, и тд.

Проблема в том что если нажать кнопку "Назад" в браузере или тоже самое на javaScript history.back(-1), то при переходе на пред идущую стр. в корзине не чего не отображается, потому что в истории этого элемента нет.

Подскажите как можно победить такой момент, я уже всю голову сломал. Спасибо.

ksa
24.04.2015, 08:45
как можно победить такой момент, я уже всю голову сломал
Голову ломать не нужно. :) Достаточно просто сделать запрос на сервер о данных той корзины. При получении ответа - просто ее перерисовать.

Evgeny_Dedov
24.04.2015, 18:45
Да том то и дело, что браузер достаёт стр. из истории он не делает запросов при нажатии на кн. "Назад".

То есть если просто сделать переход прямой на эту стр. то корзина обновится как положено с сервера, а мне нужно именно по кнопки "Назад"

Объясню почему, тут всё просто. Есть список он может быть длинным, при переходе в товар и обратно чел должен оставаться в том месте скролинга страницы где был, а так получается только при history.back()

Ну или у меня есть вариант, писать в куку текущий скрол и в товарах прокручивать до этого места, но уж очень не хочется городить тупое решение.

ksa
27.04.2015, 09:45
Да том то и дело, что браузер достаёт стр. из истории он не делает запросов при нажатии на кн. "Назад".
Ты делай запрос. Причем тут браузер? :blink:
очень не хочется городить тупое решение
Городи острое. :) Все в твоих руках...

Evgeny_Dedov
02.05.2015, 08:57
Ты делай запрос. Причем тут браузер? :blink:

Городи острое. :) Все в твоих руках...

Прежде чем давать острые ответы, Вы хотя бы въёхали бы в вопрос :)

ksa
05.05.2015, 13:45
Вы хотя бы въёхали бы в вопрос
Как тут въехать! Он же такой сложный... :D
Может тебе пора въезжать в ответ?

Evgeny_Dedov
06.05.2015, 07:41
Попробуйте "посадить" на стр. $(function(){AJAX...}) AJAX запрос.
И попробуйте перейти на неё по кнопки "Назад" или history.back();

Запрос НЕ выполнится !!!

ksa
06.05.2015, 08:22
Попробуйте "посадить" на стр. $(function(){AJAX...}) AJAX запрос.
И попробуйте перейти на неё по кнопки "Назад" или history.back();

Запрос НЕ выполнится !!!
Конечно же я этого не знаю! :lol: Но к счастью это не единственный способ вызывать некие функции...
"Посади" запрос с использованием setInterval() и будет тебе счастие...

Evgeny_Dedov
06.05.2015, 09:47
То есть, вы предлагаете херачить запросы через промежуток времени не зависимо от того - нужно это или нет? :)

Aetae
06.05.2015, 10:23
Evgeny_Dedov,
Как выяснить "нужность" запроса - это уже вам решать, но примерно так все с этой ситуацией и разбираются.

ksa
06.05.2015, 13:03
Aetae меня опередил...