Не срабатывает onload при нажатии на браузерную кнопку Назад
Доброго времени!
Решение проблемы затянулось, прошу помочь, у кого был такой опыт. Суть проблемы: Есть сайт с анимацией перехода между страницами. Анимация работает опираясь на событие $(window).on('load'), которое запускает функцию, "шторка" открывается, показывая контент страницы. Проблема заключается в том, что в некоторых мобильных браузерах есть (по всей видимости) кэширование предыдущей страницы и заморозка ее в том состоянии, в котором ее покидал пользователь, таким образом, при переходе по браузерной кнопке Назад, пользователь видит не открывающуюся шторку, события onload не происходит. Пробовал использовать событие pageshow, событие unload, но проблема по-моему глубже, так как при переходе назад в android.browser 12.1.5 и в некоторых safari не вызывается вообще никакого события, яваскрипты не запускаются. Ощущение, что страница как бы консервируется и при возврате к ней по кнопке Назад, не происходит никакого события. Чем побеждать? |
sergeantpepper,
может hashchange? |
Цитата:
Пробовал так: <body onhashchange="alert('onhashchange');"> |
sergeantpepper,
а так window.onhashchange ? |
Цитата:
Вообще, ощущение что js никакой не срабатывает. Не знаю за что зацепиться (ну кроме какого-нибудь setInterval, но это уж совсем извращением кажется) |
Цитата:
Я так понимаю, что имею дело с back-forward cache https://habr.com/ru/company/yandex/blog/496360/ Но проблема в том, что я не вижу реакции и на события pageshow |
Цитата:
|
sergeantpepper,
Попробуйте History API: https://developer.mozilla.org/en-US/...ers/onpopstate https://developer.mozilla.org/ru/doc...PI/History_API |
Часовой пояс GMT +3, время: 17:42. |