Почему "position: fixed" не работает при просмотре в iframe с помощью устройства iPhone или iOS?

Я посмотрел на stackoverflow, и кажется, что position:fixed в iframe для мобильных устройств iOS было проблемой в прошлом, но до сих пор не было ответа.

Вот пример, который я создал через jsbin: http://jsbin.com/pekeca/1/

В этом примере есть родительская HTML-страница, которая использует iframe, которая содержит другую HTML-страницу (дочернюю). Вот что стоит отметить:

  • Когда родительский HTML просматривается на любом устройстве, панель навигации в дочернем HTML остается фиксированной. Это предполагаемое поведение.
  • Однако, когда родительский HTML-код просматривается на iPhone независимо от браузера, панель навигации в дочернем HTML файле теряет свое фиксированное положение. Это ошибка, которая происходит только в iPhone.
  • Когда дочерняя HTML-страница просматривается непосредственно (т.е. не внутри iframe) в iPhone, панель навигации остается в фиксированном положении и работает нормально.

Кто-нибудь нашел обходной путь для position:fixed в iPhone или iOS-устройствах?

Ответ 1

В Chrome и Safari на iOS кажется, что проблема здесь не в фиксированной позиции, а в высоте iframe. Из другого ответа SO: "Начиная с версии 4.2.1 Safari iOS, и все еще имея в виду 4.3.3, все содержимое iFrame показано принудительно".

Эти другие сообщения могут вам помочь: