2012-05-09 1 views
9

iPhone Safari에서 사용할 수있는 화면 크기를 얻으려고하면 컨테이너를 화면 높이에서 상태 표시 줄과 도구 모음을 제외하고 축소하려고합니다.iPhone Safari screen.availHeight 및 statusbar/toolbar/addressbar

iOS는 휴대 전화가 세로 방향 인 것처럼 항상 화면 크기를 반환하므로 screen.availWidth를 사용하여 가로로 높이를 조정합니다. 다음은 치수가 반환 :

screen.width; //320 
screen.availWidth; //300 

20 픽셀 차이가 전화 상단 상태 표시를 차지하고 있지만, 계정으로 화면 하단의 버튼 바 (도구 모음)를 고려하지 않습니다.

268px를 반환 할 수있는 속성이 있습니까?

나는 다만 (screen.availWidth - 32) 할 것이다 그러나 사용자가 탁상용 책갈피로 위치를 추가 할 기회가있다,이 경우에이 막대기는 존재하지 않으며 300px 가치는 정확할 것이다.

+0

에서 얻을 수 있습니다. 더 많은 연구와 실험을 거친 후에 availWidth가 300 인 것은 의미가 있습니다. 즉 높이에서 20px 상태 표시 줄을 뺀 것입니다. 즉, 브라우저 크롬이 아닌 OS 크롬을 뺀 것입니다. 이전 iOS 버전에서도이 값이 잘못되었으므로 너무 많이 의존하지 않는 것이 좋습니다. – howard10

+0

비슷한 질문에 대한 내 대답을 확인하십시오. 조금 도움이 될 수 있습니다. http://stackoverflow.com/questions/8205812/jquery-js-ios-4-and-document-height-problems –

답변

10

정확한 대답은 없지만 사용자가 모바일 사파리 또는 navigator.standalone 속성이있는 데스크톱 북마크에 있는지 여부를 확인할 수 있습니다. 이것을 사용하면 32px를 뺄지 여부를 결정할 수 있습니다.

편집 : 답을 찾았습니다. <meta name="viewport" content="user-scalable=no, width=device-width, height=device-height" />을 사용하고 올바른 값은 window.innerWidth/window.innerHeight

+0

[this] (http : // tripleodeon.com/2011/12/first-understand-your-screen/), 나는 비슷한 결론에 도달했습니다. 나를 올바른 방향으로 가리켜 주셔서 감사합니다. – howard10

관련 문제