2010-08-19 9 views
11

Próbuję wykryć, w sposób przyszłościowy i niezależny od urządzenia, kiedy pasek adresu w przeglądarce iPhone'a jest wyświetlany. To jest pasek narzędzi wyświetlany u góry, aby wyświetlić adres URL. To może być ukryte pod numerem:Wykryj, czy pasek adresu jest wyświetlany w przeglądarce iPhone'a

window.scrollTo(0, 0) 

Co chciałbym zrobić, to wykryć, kiedy to będąc show (zmniejszając tym samym dostępną przestrzeń wejść) i ustawić czas, aby ukryć go ponownie drugi lub tak później. Dosyć częstsze niż to i będzie to dość denerwujące, ponieważ użytkownicy nie będą mogli dostać się do paska adresu.

Próbowałem sprawdzić window.pageYOffset, niestety, zwraca zero, jeśli jest widoczna jakakolwiek część paska adresu URL.

Nie nie chcę kodować żadnych wymiarów na iPhone i sprawdzać ich względem bieżącego rozmiaru ekranu. Jest zbyt delikatny.

Ktoś zna rozwiązanie tutaj?

+0

Nie mam jasności co do problemu. Wykryj przy ładowaniu strony lub sprawdź w setInterval i po X czasie ukryj to, ale daj użytkownikowi wystarczająco dużo czasu na wprowadzenie nowego adresu URL, jeśli zdecydujesz? Proszę opracuj. – donohoe

Odpowiedz

10

Właściwość window.innerHeight window2nerHeight jest tym, czego szukasz. Jest to wysokość rzeczywistej zawartości na ekranie. Jest znacznie mniej, gdy pasek narzędzi u góry jest widoczny, ponieważ jest mniej miejsca dla treści. Jest mały problem, którego nie mogę zrozumieć na moim iPhonie 4 - window.innerHeight czasami zwraca o 3 piksele mniej w niektórych pozycjach przewijania ekranu.

Wcześniej skonfigurować przykład ci, że ma mniej więcej co pytasz, to powinien przynajmniej na początek:

http://jsfiddle.net/rUSEb/show/light (przetestować go na iPhone).

+3

Wygląda na to, że nie działa z iPhonem 6. Jednak pasek "Wynik" dodany przez jsfiddle reaguje na wyświetlanie/ukrywanie paska adresu. W ten sposób wykrycie wydaje się możliwe. –

+0

Pasek "Wynik" używa 'position: fixed;' więc nie sądzę, że to faktycznie bezpośrednio wykrywa obecność paska adresu. –

+0

wewnętrzna szerokość/szerokość są również zależne od powiększenia, więc możesz uzyskać nieprzewidywalne wyniki. – GreySage

Powiązane problemy