Bug Scroll Safari iOS 15 - when showing and hiding the toolbar

Головная боль, которая началась вместе с выходом iOS 15.

Резкое прокручивание при скрытие тулбара Safari при открытом боковом бургер-меню, и такой же быстрый скролл после отображения этого тулбара.

Решение: библиотека body-scroll-lock.

Библиотека блокирует все скроллы, кроме того что вам нужен в данный момент (например по событию открытия Попап, или открытия бокового меню, как это было в моём случае - см. видео пример ниже).

Обратите внимание: Прочитайте этот ишью перед использованием: https://github.com/willmcpo/body-scroll-lock/issues/236. Главное, что там сказано: то что баг со скроллом не уйдёт в Safari, если установить библиотеку через NPM, а если качать с GitHub всё будет ОК.

Видео пример

- До использования библиотеки (боль):

https://truewebstories.ru/sites/default/files/0my_files/blog/2022/scroll-safari-15/before.MP4

- После: 

https://truewebstories.ru/sites/default/files/0my_files/blog/2022/scroll-safari-15/after.MP4

 

Я блокирую скроллинг всего кроме "бургер меню" (бокового меню), после того как это меню открыли.
Когда меню закрывают - все блокировки скроллинга снимаются.

 

Спасибо willmcpo за это.

Второе гениальное решение

Использовать touch-прокрутку на JS  (без CSS: overflow: auto и подобных).

Например, посмотрите на библиотеку: flickity - у неё есть режим: freescroll.

https://flickity.metafizzy.co/options.html#freescroll

Настоящий обман Safari: она не догадается, что мы что-то скроллим.

Связаться с автором Поддержать автора (что?)

Комментарии

Если у вас есть вопрос, критика или другое мнение - напишите в комментариях.