Я создаю сайт, на котором динамически добавляется контент с использованием iframe (файлы iframe находятся на одном сервере). Загруженный iframe имеет кнопки для прокрутки содержимого iframe, но я не могу найти причину, почему он не работает на iPhone - он хорошо работает с Android. Вот код, который я использовал:
$('#menu li a').on('click', function(){
var element = $(this).attr('data-scroll');
$('body').animate({
scrollTop: $('.page[data-bookmarks=' + element + ']').offset().top
}, 1000);
});
Btw. событие щелчка работает хорошо, потому что я проверил его с помощью предупреждения. Просто scrollTop, похоже, не работает на устройствах iOS.
Я нашел несколько ссылок, которые могли бы решить эту проблему, но тот, который я использовал, был следующим:
Гораздо проще управлять переполненными div, чем
iFrames
, а проблемы с прокруткой + пустым содержимым работают полностью в iOS 4, где ранее я даже не мог заставить прокрутку 2 пальцев работать (вiFrames
).Это выглядит примерно так:
<iframe id="example-iframe" width="600" height="200" src="a-file.html"></iframe>
а-file.html:
<html> <body> <div id="wrapper" style="width: 100%; height: 100%; overflow: auto; -webkit-overflow-scrolling: touch;"> ... </div> </body> </html>