2013-02-22 3 views
1

div를 가로 방향으로 표시하려면 webapp에 다음 코드가 있습니다. 그것은 휴대 전화에서 잘 작동하지만, 그것은 또한 내가 원하지 않는 iPad에서 잘 작동합니다. 핸드 헬드에서만이 기능을 사용할 수 있습니까? 핸드 헬드 전용 window.orientation 감지

$(function(){ 
window.onload = handleOrientation; 
    window.addEventListener('orientationchange', handleOrientation, false); 
     function handleOrientation() { 
      if (window.orientation == "90" || window.orientation == "-90") { 
      document.getElementById("landscape").style.display = 'block'; 
     } else { 
      document.getElementById("landscape").style.display = 'none'; 
     } 
    } 
}); 

나는 배우고 빨리 너희들 덕분에 할 수있는 학습, 자바 스크립트에서 총 newb 해요,하지만 나는이 일에 어떻게 해야할지 모르겠어요.

+1

장치 화면의 너비를 확인할 수 있습니다. 핸드 헬드 장치에 대한 임계 값보다 작은 경우에만 수신기를 연결하십시오. – Ehtesham

+0

@Ehtesham 답변에 답장을 써야합니다. –

+0

CSS 미디어 쿼리를 사용하여 div 스타일을 지정하지 않는 이유는 무엇입니까? – hexalys

답변

0

화면 크기/픽셀 밀도를 확인하여 휴대 전화와 태블릿을 구별하는 것은 거의 불가능하므로 일부 사용자 에이전트 스니핑을해야합니다. 심지어 사용자 에이전트도 100 % 신뢰성이 없습니다.

당신은 여기에 몇 가지 영감을 찾을 수 있습니다

: http://detectmobilebrowsers.com/

+0

나는 모든 사용자 에이전트를 나열하는 것을 피하려고 시도하고 있었고 핸드 헬드를 감지하는 방법이되기를 바랬습니다. – jkuhns5

+0

iPad **는 핸드 헬드입니다. :-) iPad mini, Nexus 7 이상입니다. 사용자 에이전트 스니핑은 좋지 않지만 기기를 정확하게 타겟팅하려는 경우 유일한 해결책입니다. – strah

1

당신은 전화와 태블릿을 구별하고 태블릿을 해제 할 수 있어야합니다.

한 가지 방법은 화면 너비를 찾는 것입니다.

if (window.screen.width < 320) { 
// This is an iphone 
// 320 pixels is the width of an iphone 
// do the necessary 
} 

이 아마 가장 좋은 방법은 아니지만, 당신은 태블릿으로 아이 패드에 대한에만 관심이 있다면 문제를

+1

일부 Android 휴대 전화의 너비가 480 이상입니다 ... iPhone이 시장에 나와있는 유일한 전화는 아닙니다. – strah

+0

@strah 방금 예를 들었습니다. 대신 480 픽셀을 사용할 수 있습니다. 여전히 320px iPhone이 작동하고 태블릿은 실용화되지 않습니다. – LINGS

+1

HD 폰 (1920 × 1080)은 어떻습니까? 당신은 태블릿에서 어떻게 말합니까? – strah

0

를 해결합니다. 브라우저의 사용자 에이전트를 확인하고 전화 인 경우에만 청취자를 연결할 수 있습니다. 그렇지 않으면 사용자 에이전트 문자열이있는 모바일 장치인지 확인하십시오.

if (!navigator.userAgent.test(/iPad/i)) { 
    // Attcah listener here 
} 

사용자 에이전트 문자열로 검색하는 방법은 다음 질문에 대한 답변을 확인하십시오.

How do detect Android Tablets in general. Useragent?

관련 문제