top of page

© 2024 Word-Book

bottom of page
/** * SCROLL PASSTHROUGH — Сквозной скролл из iframe в Wix-страницу * ================================================================ * ПРОБЛЕМА: * Приложение Wordbook работает внутри iframe. * На планшете палец касается области iframe — браузер отдаёт * все touch-события внутрь iframe, Wix-страница их не получает. * Когда внутренний скролл iframe доходит до конца — жест "застревает": * страница не скроллится, а сдвинуть палец на область вне iframe * на планшете неудобно. * * РЕШЕНИЕ (две части): * 1. [Wordbook / iframe] src/core/utils/scroll-passthrough.js * Следит за touch-жестами внутри приложения. * Когда скролл достиг края (верх или низ) — отправляет сигнал * наружу через window.parent.postMessage({ type: 'SCROLL_PASSTHROUGH', deltaY }). * * 2. [Wix / этот файл] * Слушает входящие сообщения от iframe. * При получении сигнала — скроллит Wix-страницу на нужное количество пикселей. * * БЕЗОПАСНОСТЬ: * Принимаем сообщения только от *.word-book.org * (покрывает ru / en / de и любые будущие языковые поддомены). * ================================================================ */ window.addEventListener('message', function(e) { if (!e.origin.endsWith('word-book.org')) return; if (e.data && e.data.type === 'SCROLL_PASSTHROUGH') { window.scrollBy({ top: e.data.deltaY * 2, behavior: 'auto' }); } });