Олеся!
Конечно, это возможно. Но, к сожалению, в общем виде эта задача не решается: сохранение правильной позиции чтения после изменения размеров браузера сильно зависит от страницы, её стилей и скриптов.
Современные браузеры достаточно умны, чтобы сохранить позицию на простой текстовой странице без отдельных версий для лаптопа или мобильных:
Когда сайт адаптируется к разным экранам, например, когда в мобильной версии меняется кегль, интерлиньяж и шапка, браузер не может нормально сохранить позицию:
В таких случаях сайт приходится отдельно учить сохранять позицию чтению. Как именно — зависит от сайта и его содержимого. Расскажу, как мы решаем эту задачу в книгах издательства бюро.
В наших книгах мы запоминаем текущий разворот и его относительное смещение от верхнего края окна в процентах от высоты разворота. Скажем, если я остановился на середине 15 разворота, то мы сохраняем пару (15 50%)
. Если я остановился в 50 пикселях от начала 10 разворота, то сохраняем пару (10 -5%)
(при условии, что разворот имеет высоту в 1000 пикселей).
При изменении размеров окна накрываем книгу «белой простынёй», чтобы не было видно последующей прокрутки к запомненной позиции. Затем определяем координаты и размеры сохранённого разворота, считаем смещение от верхнего края окна и прокручиваем к нему страницу:
P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.