Я загружаю свой сайт в iFrame, который находится на другом сайте. Я хотел бы перейти к началу элемента в этом iFrame. Я использую код Javascript ниже:
document.getElementById("cart-wrapper").scrollIntoView({ behavior: 'auto' });
Это отлично работает в настольных браузерах, однако совсем не работает на мобильных устройствах iOS (я тестировал Safari и Chrome). Я пробовал полифилл с плавной прокруткой (https://github.com/iamdustan/smoothscroll), но он тоже не работает (в основном я включил <script type = "text/javascript" src = "/js/smoothscroll.js"></script>))
Любые решения? Спасибо
Невозможно воспроизвести на Android (как в Chrome, так и в Firefox). Можете ли вы подтвердить, что у вас возникла проблема с эта рабочий пример на вашем устройстве? А если нет, то вы с Вот этот?
@Кайидо, верно.
Вы можете воспроизвести обе скрипки?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Несколько дней назад я тоже столкнулся с этой проблемой. Я исправил это с помощью iScroll
Я пробовал iScroll
Я мог бы помочь вам, если вам нужно
Спасибо. Я пробовал код ниже; Я вижу, что iscroll загружается успешно, но на самом деле прокрутки не происходит. Я делаю что-то неправильно? <script type = "text/javascript" src = "/js/iscroll.js"></script> <script> var myScroll; myScroll = new IScroll('#cart-wrapper', { mouseWheel: true, click: true }); myScroll.scrollToElement(document.querySelector('#cart-wrapper') ); </скрипт>
const elementOffsetTop = parseInt(document.getElementById(getIDFromHash).offsetTop || 0, 10); myScroll.scrollTo(0, -elementOffsetTop, 500);
{ полосы прокрутки: true, hideScrollbar: true, // Важно для Firefox fadeScrollbars: true, mouseWheel: true, click: true, disablePointer: true, // Важно для устройств Android disableTouch: false, disableMouse: false, }
См. эту ссылку stackoverflow.com/questions/19398501/…
Спасибо за ваши ответы. К сожалению, он по-прежнему не работает в iFrame (прокрутка не происходит) даже после добавления кода, который вы упомянули.
Я думаю, что проблема может быть в элементе оболочки. то есть myScroll = new IScroll('body'... - 'body' работает, если я владею главной страницей, на которой находится iFrame, но в противном случае это не так.
да, прокрутка применяется к первому дочернему элементу размещенного элемента
Чтобы уточнить, вы несете ответственность за сайт B, который загружается из сайт А внутри <iframe>, и хотите, чтобы содержимое iframe прокручивалось только до
#cart-wrapper, который, очевидно, является частью сайт B. Это правильно?