2013-05-26 3 views
6

장치가 자바 스크립트와 모바일 기기 인 경우 감지하는 가장 간단한 방법은 무엇으로하면 모바일 장치를 감지?간단한 방법은 자바 스크립트

나는 높이보다 작거나 아이폰의 브라우저 뷰포트의 높이와 동일한 경우 체크 생각했다. 말하자면 iPhone이나 모바일 장치 용 뷰포트 높이는 무엇입니까?

내가 다시 정의되지 않은 자바 스크립트 window.height; 몇 가지 문제를 가지고 오는 하였다으로, 그러나?

사람은 브라우저가 자바 스크립트와 함께 모바일 기기 인 경우 가장 간단하게 감지 어떻게 알아?

+0

참조 http://stackoverflow.com/questions/6666907/how-to-detect-a-mobile-device-with-javascript –

+0

@TamilSelvan 아, 알았습니다. window.height를 사용하여 iPhone의 브라우저 뷰포트 높이와 비교하는 방법은 무엇입니까? 그걸 어떻게하는 지 아는가? –

+0

사용은'괜찮아, –

답변

20

이 내 취미 프로젝트가 무엇 : 차원을 사용하는 방법에 대한

var Environment = { 
    //mobile or desktop compatible event name, to be used with '.on' function 
    TOUCH_DOWN_EVENT_NAME: 'mousedown touchstart', 
    TOUCH_UP_EVENT_NAME: 'mouseup touchend', 
    TOUCH_MOVE_EVENT_NAME: 'mousemove touchmove', 
    TOUCH_DOUBLE_TAB_EVENT_NAME: 'dblclick dbltap', 

    isAndroid: function() { 
     return navigator.userAgent.match(/Android/i); 
    }, 
    isBlackBerry: function() { 
     return navigator.userAgent.match(/BlackBerry/i); 
    }, 
    isIOS: function() { 
     return navigator.userAgent.match(/iPhone|iPad|iPod/i); 
    }, 
    isOpera: function() { 
     return navigator.userAgent.match(/Opera Mini/i); 
    }, 
    isWindows: function() { 
     return navigator.userAgent.match(/IEMobile/i); 
    }, 
    isMobile: function() { 
     return (Environment.isAndroid() || Environment.isBlackBerry() || Environment.isIOS() || Environment.isOpera() || Environment.isWindows()); 
    } 
}; 

귀하의 솔루션은 좋은 해결책이 아니다. 실제 장치 크기 및 기타 많은 변수에 의존합니다.

+0

이것은 좋아 보인다! 공유해 주셔서 감사합니다. 하지만 어떻게 구현하거나 사용합니까? 예를 들어'if (isMobile()) {// myCodeHere} ' –

+0

코드와이 코드의 차이점은 무엇입니까? 아니면 좀 더 간결한 버전입니까? '(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {// 일부 코드는 ...}' –

+3

의 차이는 내 코드를 더 usuable 더 읽을 수 있는지 경우. 모바일 환경을 감지하고 싶을 때마다 long if 문을 작성해야하며 광산에서는 단지'Environment.isMobile()'함수 호출로 오류가 발생할 수 있습니다. 그것을 사용하려면 자바 스크립트 파일 중 하나에 해당 코드를 포함시킬 수 있습니다. 그리고 간단히'if (Environment.isMobile()) {...}' – dchhetri