2014-11-22 14 views
8

Zajrzałem do stackoverflow i wygląda na to, że position:fixed in an iframe for iOS mobile devices był problemem w przeszłości, ale nie otrzymał jeszcze odpowiedzi.Dlaczego `position: fixed` nie działa podczas przeglądania w` iframe` przy użyciu urządzenia iPhone lub iOS?

Oto przykład stworzyłem poprzez jsbin: http://jsbin.com/pekeca/1/

W tym przykładzie, jest strona HTML dominująca, która używa iframe, który zawiera inną stronę HTML (Child). Oto rzeczy, o których należy pamiętać:

  • Gdy nadrzędny kod HTML jest wyświetlany na dowolnym urządzeniu, pasek nawigacji w dziecięcym HTML pozostaje stały. To jest zamierzone zachowanie.
  • Jeśli jednak nadrzędny kod HTML jest wyświetlany na iPhonie niezależnie od przeglądarki, pasek nawigacji w podrzędnym kodzie HTML traci swoją stałą pozycję. To jest błąd, który występuje tylko w telefonach iPhone.
  • Po ustawieniu child HTML page is viewed directly (i.e., not inside an iframe) w telefonie iPhone pasek nawigacyjny pozostaje w ustalonej pozycji i działa poprawnie.

Ktoś wymyślił obejście dla position:fixed w urządzeniach iPhone lub iOS?

+2

Dostaję ten sam problem, czy znalazłeś jakieś obejścia? – Shuvro

+1

@Shuvro, nie, a ja przestałem nad tym pracować. Jednak mój przyjaciel wysłał mi [ten link] (http://stackoverflow.com/questions/23083462/how-to-get-an-iframe-to-be-responsive-in-ios-safari), ale ja jeszcze tego spróbować. Nie jest to bezpośrednio związane z problemem, ale może zapewnić pewien wgląd. – ayjay

+0

Nie wydaje się, aby rozwiązać problem, ale jest to bardzo przydatne rozwiązanie innych problemów iframe iOS, dzięki! –

Odpowiedz

0

W przeglądarce Chrome i Safari na iOS wydaje się, że problem nie dotyczy pozycji stałej, ale wysokości elementu iframe. Z innej odpowiedzi na WR: "Rozpoczynając w wersji 4.2.1 Safari iOS, a wciąż w wersji 4.3.3, cała zawartość ramki iFrame jest pokazywana na siłę".

te inne stanowiska może pomóc: