После нажатия на кнопку "назад" Chrome отображает страницу не в том виде, как до нажатия по ссылке

Есть страница со списком товаров. Список может отображаться в двух режимах - с полной информацией о товаре и с сокращённой. Переключение между режимами осуществляется путём нажатия на соответствующую кнопку, после чего идёт POST-запрос на сервер, получение от сервера html-кода со списком товаров, и этот html-код вставляется в div вместо старого кода. URL страницы при переключении режима просмотра не меняется.

Так вот в том случае, если человек открыл страницу со списком товаров, переключил режим просмотра, после этого кликнул по карточке товара, потом в Google Chrome нажал "назад", то ему страница со списком товаров показывается в первоначальном режиме, а не в том, в который он переключал. При этом, что занятно, активным выделен как раз тот режим просмотра, который он выбирал.

Проверено, что запрос на сервер при нажатии на кнопку "назад" Chrome не отсылает. То есть после нажатия "назад" браузер "забывает", что после загрузки страницы он успел получить от сервера html-код с новым режимом отображения товаров, и показывает страницу с тем html-кодом, который был получен от сервера в момент загрузки страницы. Но при этом элемент интерфейса, который указывает на текущий режим просмотра, подсвечен как раз тот, который выбрал юзер (после клика по соответствующей кнопке она меняет цвет и после нажатия на "назад" этот цвет у кнопки и остаётся).

В Firefox и в Microsoft Edge такого бага нет.

Я понимаю, что проблему можно решить, если при переключении режима просмотра редиректить юзера на страницу с отдельным URL, однако хотелось бы решить проблему без этого.


Ответы (0 шт):