2009-05-11 6 views

Odpowiedz

23

Tak, przez zdarzenie onorientationchange i właściwość window.orientation.

+0

To także eleganckie rozwiązanie. – Thanks

+1

FYI Usunięto wymóg logowania się do Safari Reference Library firmy Apple. –

+0

@Pullets Forever - ah, doskonale, dziękuję. Zaktualizowano odpowiednio. –

1

Można sprawdzić szerokość ciała dokument. Jeśli nagle stanie się mniejszy lub większy, wiesz co się stało. Możesz zmierzyć go z przerwą.

window.setInterval(function() { 
    // check body with here and compare with global variable that holds the last measurement 
    // you may set a boolean isLandscape = true if the body with became bigger. 
}, 50); 
+0

Nie jestem do końca pewien, czy to zadziała: 'document.body.clientWidth' wydaje się zwracać tę samą wartość w układzie pionowym i poziomym (przynajmniej na stronie, nad którą pracuję). Mogą być jednak inne właściwości, które możesz sprawdzić. –

+1

Musisz użyć czegoś takiego jak getComputedStyle i poprosić o obliczoną szerokość znacznika body. Jeśli to nie zadziała w safari, spróbuj currentStyle. Upewnij się również, że znacznik body otrzymuje szerokość = 100%. – Thanks

+0

Tak, to może zadziałać. Po prostu pojęcie wymiarów Mobile Safari wydaje się nieco abstrakcyjne ze względu na skalowanie ekranu iPhone'a. Wydaje się, że w rzeczywistości nie ma większej szerokości piksela (jeśli chodzi o układ), gdy przechodzi w krajobraz, mimo że dostępnych jest więcej fizycznych pikseli. Tak naprawdę nie sprawdziłem, co poszczególne właściwości zwracają jednak. –

Powiązane problemy