2011-09-07 3 views
5

방향이 변경 될 때 모바일 브라우저의 창 높이와 너비를 정확하게 캡처하려고하지만 (Android에서는 테스트 중입니다) - 방향 수신기가 작동하고 창 높이와 너비를 캡처하기 위해 함수가 호출되면 새로운 크기가 아직 정확하게 반영되지 않았으므로 임의의 지연을 호출하여 적절한 크기를 등록해야합니다. 어떻게해야합니까?android/javascript - window.innerWidth 및 window orientation에 대한 문제가 적절한시기에 발생합니다.

window.addEventListener(orientationEvent, function() { 
    setTimeout("setViewport()", 500); 
    //setViewport(); 
}, false); 

function setViewport() { //Called each time orientation changes, including initial orientation 
    viewportW = window.innerWidth; //only reports the accurate window size if the function is called on a delay 
    viewportH = window.innerHeight; 
} 

답변

0

당신이 방향 변경, 당신은 또한 변화 방향을 확인하기 위해 window.matchMedia를 사용할 수있는 경우 특히 만 값을 변경하려는 경우에는 크기 조정 이벤트 대신

window.addEventListener('resize', function() { 
    viewportW = window.innerWidth; 
    viewportH = window.innerHeight; 
}, false); 

를 사용하여 여기에 내 코드입니다 :

var portrait=(window.matchMedia("(orientation: portrait)")?true:false); 
관련 문제