Есть ссылка на страницу А в которой при первом посещении записывается в куки информация о посещении страницы, затем сразу идет редирект на страницу B
Логика работы:
При первом переходе мы "пролетаем" первую страницу и попадаем на страницу B и если мы нажмем кнопку назад - мы попадаем на первую страницу. Поскольку кука уже записана - нас больше никуда не редиректит
Проблема:
На некоторых устройствах (это могут быть два Chrome на разных машинах). При нажатии назад - открывается пустая страница как буд-то история браузера пуста. Хотя в истории у нас записано посещение обеих страниц. Можно ли каким то образом отследить причину такого поведения браузера?
Chrome считает что страница с переадресацией будет всё также переадресовывать и в следующий раз, если эту страницу можно положить в кеш, потому при нажатии кнопки "назад" просто пропускает эту страницу - иначе кнопка "назад" просто не будет работать со стороны пользователя.
Значит вам нужно запретить кеширование страницы с переадресацией, делать переадресацию не через HTTP заголовоки, или вообще отказаться от такой схемы. Последний вариант более предпочтительный потому как то, что вы делаете, может подпасть под определение варианта черного SEO с понятными последствиями.
В качестве workaround можно использовать следующий код, который отправит браузеру заголовки, говорящие о том, что эту страницу нужно не кешировать, а загружать каждый раз:
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0 ");
Но, есть вероятность что эти заголовки не будут учтены (настройки браузера, работа прокси и т. д.), поэтому предпочтительнее изменить архитектуру, если это возможно.
Использовал следующую js конструкцию на первой странице
<script type="text/javascript">
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
history.go(1);
};
</script>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Экосистема: PHP 71, самописный проект, я основной разработчик, программист С/С++
У меня на сервере установлена CentOS и панель CWPТам крутится 1 сайт
Как можно сгенерировать на php qrcode биткоин по его адресу, например для этого? 15v3Wm3sDUht2VtgtLyvUxdcTw6pAwGaA5?
Столкнулся с проблемой, необходимо вывести несколько раз один и тот же элемент массива, один раз получается вывести Red