2012-09-06 3 views
3

응답 성있는 사이트를 개발 중이며 사용자가 모바일 장치에서 인터넷을 검색 할 때 해당 사이트의 유선 전화 번호를 유선 전화로 바꿔야합니다. Modernizr 라이브러리 (또는 다른 라이브러리)를 사용하는 모바일 장치에 사용자가 있는지를 가장 확실하게 감지하는 방법은 무엇입니까?Modernizr을 사용하여 모바일 장치를 감지하는 가장 신뢰할 수있는 방법은 무엇입니까?

저는 Modernizr.touch와 Modernizr.geolocation을 알고 있습니다. 이 2 가지가 if(Modernizr.touch && Modernizr.geolocation) 성명서에 결합되어 있으면, 모바일 장치에 있는지 여부를 나타내는 좋은 지표가되지만, iPad는이 두 속성을 모두 적용하게됩니다. 모바일 장치가 커지면서 장치 크기를 테스트하는 것을 꺼려합니다!

누구도 전에이 문제에 착수 했습니까? 모더 나이저 API 방법을 사용하여

+0

엄밀히 말하면 확실하게 알 수 없습니다. 사용자 에이전트 문자열조차도 문제가 있습니다. 특히 한 달에 약 백만 개의 새로운 전화 모델을 소개하기 때문에. (많은 사람들이 iPad를 모바일 기기라고 부르겠다 .-) – Pointy

+0

나는 Modernizr이 이러한 종류의 스니핑을 명시 적으로 억제하려고 시도하기 때문에 아마도 방법을 구현하지 않았을 것이라고 생각한다. 그러나 당신의 경우에는 이유가 있음을 알 수 있습니다. 아마도 가장 좋은 방법은'navigator.userAgent'를 사용하는 것입니다. –

+0

아, 기능 감지 방법이 이것을 사용하는 것 같아요 : http://stackoverflow.com/questions/5196833/android-device-phone-callabilityability –

답변

3

Modernizr.mq(str)

예 : 내 웹 사이트에이 PHP 라이브러리를 사용

Modernizr.mq('only all and (max-width: 400px)') 
+2

감사합니다. 마찬가지로 나는 그들이 모바일 장치를 안정적으로 감지 할 수 없기 때문에 크기를 사용하는 것을 꺼려한다고 말했지만 그렇게해야 할 수도 있습니다. – MrMisterMan

+6

휴대 전화가 옆쪽으로 켜지면 640 픽셀 너비가보고됩니다 :-) – Pointy

+1

@ 포인트 정확하게! :) – MrMisterMan

2

: 그것은한다는 뜻 http://code.google.com/p/php-mobile-detect/

나는 자바 스크립트 라이브러리를 통해이 추천 모바일 장치에서 처리 할 작업이 적어지고 두 개 이상의 장치를 대상으로하는 조건문없이 웹 페이지 코드가 훨씬 깔끔합니다.

주의해야 할 점은 유지 관리 할 웹 사이트가 두 가지 있다는 것입니다. 표시 할 콘텐츠를 결정하기위한 조건문을 사용하여 웹 페이지를 유지 관리하는 것과 비교할 때 문제가되는 것은 아닙니다. 바탕 화면 폴더와 내 루트 디렉토리에 모바일 폴더가 있습니다.

나는 단순히 isMobile 메서드를 사용하고 나머지 대부분은 무시하지만 원하는 경우 특정 장치 유형을 필터링하고 대상으로 지정할 수 있습니다.

예. 사용법 :

// Include the mobile detection file. 
require('Mobile_Detect.php'); 

// Create new mobile detect object. 
$detect = new Mobile_Detect(); 
// Create new browser object 
$browser = new Browser(); 
// Check if the client is using a mobile device. 
$mobile = $detect->isMobile(); 

... 

if($mobile) { 
    //Load mobile site version 
    require('Mobile\\index.html'); 
} else { 
    //Load desktop site version 
    require('Desktop\\index.html'); 
} 

경우에 따라서는 변경하려는 숫자 만 자바 스크립트를 사용하는 것이 더 나을 수도 있습니다. 이 답변은 모바일 친화적 인 전체 사이트를 개발하려는 사람들에게 이상적입니다.

+0

감사. 불행히도 프런트 엔드를 개발중인 사이트는 .asp 사이트입니다. 아마도 개발자들과 이야기하고 그들이 백엔드에서 무엇을 할 수 있는지 물어볼 수 있습니다. – MrMisterMan

+0

원하는 경우 ASP 모바일 탐지 브라우저 스크립트를 사용하고 ASP 대신 작동하도록 솔루션을 적용 할 수 있습니다. 예제 스크립트는 다음에서 찾을 수 있습니다. http://mobiforge.com/developing/story/lightweight-device-detection-asp (이 특정 스크립트를 사용해 본 경험이 없습니다) – Ren

+2

해당 라이브러리는 서면) 패턴을 사용자 에이전트에 적용 할 수 있습니다. – Pointy

0

는 내가 늦게 파티에 조금이야 알지만, 당신은 당신이 ASP를 사용하는 말했듯이, browscap.ini 기반 검사는 특히 ASP 사용할 수 있습니다.

관련 문제