iOS 9 `-webkit-overflow-scrolling: touch` и` overflow: scroll` перерывы прокрутки

Я разрабатываю webapp, и у меня есть div внутри iFrame, у которого есть скрытый, переполненный контент, который я хочу прокручивать.

На Safar на iOS 9, когда я добавляю -webkit-overflow-scrolling:touch; к div (у которого уже есть overflow-y: scroll; чтобы дать свитке ощущение жидкости, оно ломается и не прокручивается вообще.

Я знаю, что это известная проблема, но я не нашел решений, имеющих отношение к моему сценарию: у меня есть iFrames, которые делают больше, чем передачу данных, они фактически содержат контент для пользователя. Ориентация не имеет значения, содержимое всегда нужно прокручивать.

Я просто столкнулся с этой проблемой с динамическим контентом в div, который имел overflow: auto и -webkit-overflow-scrolling: touch .

Грязное, уродливое обходное решение: заставить содержимое внутри быть больше, чем прокручиваемый div при добавлении в dom. Что-то вроде этого:

 <div style="overflow: auto; -webkit-overflow-scrolling: touch;"> <div style="min-height: 101%"> dynamic content </div> </div> 

Моя теория заключается в том, что Safari пытается (требует) сделать некоторые тяжелые оптимизации при -webkit-overflow-scrolling: touch добавлен, и они не играют хорошо с некоторыми типами динамического контента.

Я также столкнулся с этой проблемой с webkit-overflow-scrolling: touch iOS9. Его можно воспроизвести на устройстве или симуляторе iOS. Как упоминает Кристофер Кэмпс, это происходит только с динамическим контентом, то есть с содержимым, которое изменяется от меньшего размера, чем прокручиваемый контейнер до большего, чем контейнер.

Heres CodePen демонстрирует эту проблему , включая исправление Кристофера Кэмпса .

Кажется, еще один взлом для этой ошибки Safari – использовать javascript для установки style="overflow: none" и сразу же вернуть его обратно к своему предыдущему значению.

  • UIWebView позволяет использовать свойствоInlineMediaPlayback для 4.2 на iPad
  • Прокрутка Div иногда зависает, если я использую -webkit-overflow-scrolling
  • iOS Webkit не работает на устройстве, но работает на симуляторе при быстром
  • Backspace внутри элемента INPUT приводит к тому, что фиксированное положение DIV перемещается в курсор
  • Отключить усиление в WKWebView
  • Прозрачный SVG в iOS WebKit
  • Есть ли способ установить референт в первоначальном запросе, сделанном SFSafariViewController?
  • Способы улучшения производительности прокрутки UIWebView?
  • iOS5 -webkit-overflow-прокрутка вызывает остановку работы сенсорных событий
  • PhoneGap + iOS Запретить действие прокрутки по умолчанию начинается с текстового поля ввода
  • WKWebView + contentInset делает неправильный размер контента
  • Interesting Posts

    Получение строки ячейки UITableView при нажатии кнопки

    Оценочный размер магазина приложений на Xcode 6 показывает огромный размер (Unity iOS Export)

    почему он не может ничего показать на детской площадке в Swift 2?

    Ошибка Alamofire при обновлении Carthage

    NSStream на iphone не работает

    Временное отключение сегодняшнего расширения

    Объект NSError, уже заполненный при первом вызове метода

    возвращаемое значение .bounds.size.height на iphone 6

    ideviceinstaller не работает с ERROR: не удалось найти iTunesMetadata.plist в архиве

    Использование протокола как конкретного типа, соответствующего «AnyObject», не поддерживается

    как разработать для iPhone и iPad в разделенных раскадровках Xcode6

    «Несовместимый указатель на целочисленное преобразование, инициализирующее« int »с выражением типа« NSNumber * »»

    Как отсортировать результаты CloudKit по дате изменения?

    Что проще всего получить класс размера UIViewController?

    Исключение исключения UITableViewCell

    Давайте будем гением компьютера.