Сетап:
1. PHP 8.1 на Апаче
2. Wordpress 6.1.1
3. WooCommerce 7.2.2
Проблема: со страницы /checkout/ переходим на страницу оплаты (внешняя платёжка), возвращаемся через браузерную кнопку назад и происходит следующее:
1. Нормальные браузеры снова прогоняют скрипты WooCommerce, видят, что форма заполнена корректно и снимают блокировку от jQuery-blockUI
2. Сафари 14.0+ берёт страницу из кэша, даже если страница прямым текстом заблокировала кэши (через хэдеры), при этом скрипты он заново не запускает и получается, что блокировочный интерфейс висит бесконечно, пока не перезагрузишь страницу целиком
Идея была в том, чтобы цеплять eventListener на события типа
unload или
beforeunload, но проблема, опять же, в том, что все нормальные браузеры эти события обрабатывают нормально, а Safari просто не реагирует на них - смена адреса страницы не триггерит ни одно из списка:
unload onunload beforeunload onbeforeunload beforenavigate navigate
Если кто сталкивался с подобной проблемой - прошу помочь. Казалось бы, очевидная задача, но бьюсь с ней уже второй день, все идеи кончились и StackOverflow не помогает