2015-01-27 18 views
7

Mam dwa przyciski umieszczone na dole mojej witryny. W IOS ma to pewne niepożądane działanie: Kiedy użytkownik klika przycisk, pojawia się "dolny pasek przeglądarki" i "pasek adresu".Wykrywanie JavaScriptu, gdy przeglądarka adresów przeglądarki IOS pojawia się

Czy istnieje sposób, w jaki mogę wykryć, czy te paski przeglądarki są "widoczne" lub "ukryte"? Czy mogę dopasować do niego pozycje przycisków?

W stanie, w którym widoczne są paski, dodałem dodatkowe margi, tak aby znajdowały się na dolnym pasku. Ale chcę to zmienić, gdy kraty się chowają.

Próbowałem "onresize" i mimo to zdarzenie jest uruchamiane, gdy pasek pokazuje lub ukrywa okno $ .height() pozostaje takie samo. Więc nie mogę wykryć tą metodą, jeśli ekran stał się większy lub mniejszy.

Czy ktoś zna rozwiązanie?

enter image description here

+0

Nie jest to odpowiedź, którą chcesz usłyszeć, ale z powodu "martwego obszaru" 40px, który blokuje klikanie elementów przymocowanych do dolnej części ekranu (a zamiast tego powoduje wyświetlenie paska nawigacji), doradziliśmy wszystkim projektantom, że dolna stała nawigacja lub przyciski funkcyjne są zabronione. –

+0

Więc nie ma sposobu, aby wykryć, czy te paski są widoczne, czy nie? Jak to naprawić, gdy chcesz, aby przycisk "wyszukiwania" był zawsze widoczny, aby użytkownik nie musiał przewijać do dołu "formularza filtru"? – NLAnaconda

+0

Wątpię, czy i tak zdołasz ustalić cokolwiek z tego wydarzenia. iOS radzi sobie ze stałymi pozycjami słabo (po prostu poczekaj, aż pojawi się pole tekstowe w/focus). Mam tendencję do wybierania czegoś bardziej podobnego do ukrytego/automatycznego podejścia do przelewu tutaj ... http://plnkr.co/edit/Ihl6a3Tq47IBSGOdVsMM Poszedłem dalej i przeniosłem to na dno (co, z całą uczciwością, którego nie testowałem na Urządzenie z systemem iOS, ale mam top, więc powinien to być ten sam pomysł). – Jackie

Odpowiedz

8

innerHeight strony zmienia się w zależności od tego, czy Górny pasek jest widoczny. Na iPhone 6 Plus, innerHeight strony wynosi 628, gdy wyświetlana jest górna nawigacja, a 696, gdy nie jest.

Możesz użyć funkcji onresize, aby ustalić, w jaki sposób zmienił się innerHeight.

+0

To wydaje się działać! – NLAnaconda

Powiązane problemy