Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Можно ли добавить элемент во всю историю браузера (https://javascript.ru/forum/jquery/55352-mozhno-li-dobavit-ehlement-vo-vsyu-istoriyu-brauzera.html)

Evgeny_Dedov 24.04.2015 06:56

Можно ли добавить элемент во всю историю браузера
 
Здравствуйте.
Помогите пожалуйста как можно "победить" такой момент.

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

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

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

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

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

ksa 24.04.2015 08:45

Цитата:

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

Голову ломать не нужно. :) Достаточно просто сделать запрос на сервер о данных той корзины. При получении ответа - просто ее перерисовать.

Evgeny_Dedov 24.04.2015 18:45

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

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

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

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

ksa 27.04.2015 09:45

Цитата:

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

Ты делай запрос. Причем тут браузер? :blink:
Цитата:

Сообщение от Evgeny_Dedov
очень не хочется городить тупое решение

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

Evgeny_Dedov 02.05.2015 08:57

Цитата:

Сообщение от ksa (Сообщение 368436)
Ты делай запрос. Причем тут браузер? :blink:

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

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

ksa 05.05.2015 13:45

Цитата:

Сообщение от Evgeny_Dedov
Вы хотя бы въёхали бы в вопрос

Как тут въехать! Он же такой сложный... :D
Может тебе пора въезжать в ответ?

Evgeny_Dedov 06.05.2015 07:41

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

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

ksa 06.05.2015 08:22

Цитата:

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

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

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

Evgeny_Dedov 06.05.2015 09:47

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

Aetae 06.05.2015 10:23

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


Часовой пояс GMT +3, время: 01:02.