2012-01-13 12 views
5

Robię aplikację internetową dla Androida i iPhone'a. Mój problem polega na tym, że chcę odświeżyć stronę, gdy użytkownik przejdzie w krajobraz. Ponieważ jestem początkującym w javascript, nie wiem jak to zrobić. proszę mi pomócJak to zrobić Odświeżanie strony internetowej, gdy użytkownik zmienia się w telefon na krajobraz

+2

istnieje pytanie, jak to i odpowiedź;) http://stackoverflow.com/questions/850472/how-do-i-detect-when-the- iphone-goes-into-landscape-mode-via-javascript-is-ther – matzino

+0

@ManseUK Dziękujemy, U – FreshBits

+0

zamknij to pytanie, aby uniknąć duplikatów – Murtaza

Odpowiedz

5

Można użyć zdarzenia orientationchange jQuery komórkowy, a następnie zrobić

window.location.reload(); 

, aby odświeżyć stronę.

Na przykład:

$(function(){ 

// Set Inital orientation 
// get the initial orientation from window which 
// returns 0 for portrait and 1 for landscape 
if(window.orientation == 0){ 
    var ori = "portrait"; 
}else{ 
    var ori = "landscape"; 
} 
changeOrientation(ori); 

// Orientation Change 
// When orientation changes event is triggered 
// exposing an orientation property of either 
// landscape or portrait 
$('body').bind('orientationchange',function(event){ 
    changeOrientation(event.orientation) 
}) 

// Change the style dependengt on orientation 
function changeOrientation(ori){ 
    // Remove all classes separated by spaces 
    $("#orientation").removeClass('portrait landscape'); 
    $("#orientation").addClass(ori); 
    $("#orientation").html("<p>"+ori.toUpperCase()+"</p>"); 
} 

}); 
+0

Użyłem twojego kod taki jak ten, nadal nie działa "" – FreshBits

+0

@yuzi Zaktualizowałem swój kod, ale sugeruję, żebyś spojrzał n do jquery i jquery mobile (którego używa ten przykład) – Johan

+1

w końcu mi się to podoba, następnie działa "window.onorientationchange = function() { var orientation = window.orientation; przełącznik (orientacja) { sprawa 0: window.location.resload(); przerwa; sprawa 90: window.location.reload(); przerwa; case -90: window.location.resload(); przerwa; } } " dziękuje Johan – FreshBits

0

Można użyć czasomierz i okresowo sprawdzać:

if (window.innerHeight > window.innerWidth) { 
    // Redirect code, window.location... 
} 
+2

Jeśli wysokość> szerokość, telefon byłby w trybie portretowym, a nie krajobrazowym – Johan

Powiązane problemy