2016-07-13 3 views
-2

그래서 이것이 가능하거나 가능하지 않은 경우 다른 사람들이 시도하고 식별 할 수있는 작업이 있다면이를 해결하기 위해 노력하고 있습니다.Javascript/jQuery는 태블릿에서 모바일을 감지합니다.

태블릿 컴퓨터는 허용하지만 휴대 전화는 허용하지 않는 방법이 필요합니다. 여기에는 UserAgent을 사용하여 휴대 기기 또는 태블릿을 그룹으로 묶어 놓을 수있는 대부분의 문제가 있지만 안드로이드 태블릿과 휴대 전화는 모두 일치합니다. 휴대 기기 또는 태블릿에서 어떻게 감지 할 수 있습니까?

그래서 내가 다른 장치 인터페이스의

if(!isMobile() || isMobile() && isTablet()){ 
    // allow the system to load and work 
}else{ 
    // Display notice system does not support mobiles currently. 
} 

사진 같은 것을 할 수있는 일 이 내 노트북에 On my 1080p Laptop 은 괜찮아요 (1080P)이 내 표면에 This is on surface (3000x2000 필요)

참고 : 답변을 제공 할 때까지 화면 크기를 사용하지 않았지만 추가로 생각하면 화면 크기를 화면으로 사용할 수 없습니다. n 크기 감지가 올바르게 가능하지 않습니다.

내 기본 질문은 태블릿과 모바일의 차이점을 얻을 수 있습니다.

+0

안녕하세요, 먼저 '터치 이벤트'를 생성하여 터치 장치에 있는지 확인할 수 있습니다. 둘째 터치 장치에 있으면 화면 너비를 확인하십시오. – Yoplaboom

+0

하지만 화면 너비가 화면 DPI가 얼마나 큰지 알아 내기 위해 전체 계산을 수행해야하는 문제입니다. –

+0

@TJ Crowder 이것은 당신이 대답하는 근거에 근거하여 당신에게 제기 한 질문의 복제물로 표시 한 것과 매우 다른 것을 묻는 것과 중복되는 것이 아닙니다. –

답변

0

휴대 전화는 여러면에서 작은 크기의 태블릿입니다. 또는 태블릿은 단지 대형 휴대 전화입니다. 따라서 임의적 인 카테고리에 집중하는 것이 아니라 휴대 전화를 지원하지 못하도록하는 것에 집중하십시오.

화면 크기에 문제가있는 경우 화면 크기를 감지하십시오.

연결 속도에 문제가있는 경우 연결 속도   —을 감지하거나 사용자가 충분히 빠른 속도를 판단하게하십시오.

나는이 두 가지 기능 같은 isTouchisTablet를 변경하고 사용하는 것이 좋습니다 것입니다
+0

문제는 전체 화면이 큰 화면을 위해 설계된 것입니다. 항목이 사용자 경험을 위해 작을수록 시스템을 사용할 수 없으므로 10 인치 미만을 지원하지 않으려합니다. –

+0

@MartinBarker : 화면이 충분히 클 때 기본 인터페이스를 표시하는 미디어 쿼리 및 작은 화면에 메시지를 표시합니다. –

+0

여기에 착각할지 모르지만 미디어 쿼리 나 화면 크기 사용 해상도가 아닙니다. 너비와 높이가 필요할 때 너비 높이와 DPI가 필요하면 화면이 충분히 큰지 계산할 수 있습니다. –

0

:

function isTouch() { 
 
    return ('ontouchend' in window)? 'true' : 'false'; 
 
} 
 
function isMobile() { 
 
    if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)) { 
 
    return true; 
 
    } 
 
    return false; 
 
} 
 
function hasRequiredResolution(required_res) { 
 
    return (window.screen.height * window.screen.width) >= required_res; 
 
}

업데이트 : 나는 true를 반환하는 방법을 추가 한 또는 연결 클라이언트가 원하는 해상도를 가지고 있는지 여부에 따라 false입니다. 이렇게하면 대상으로 지정할 클라이언트를 식별 할 수 있습니다.

+0

이것은 막으려 고 시도하는 정확한 문제입니다. iPad 및 삼성 갤럭시 탭과 내 노트 3 및 갤럭시 S6은 모두 사실 모두 일치하지만 메모 3 또는 S6이 화면과 일치하지 않게하려면 이 작업을 수행하기 위해 작은 것입니다 ... –

+0

당신이 필요로하는 것이 무엇인지 증명할 수있는 솔루션을 찾을 때까지는 허용 할 모든 단일 네비게이터 에이전트의 철저한 목록을 작성하지 않고 실제로 할 수 있습니다. 건설적인 도움을 제공하려는 시도를하는 도움 요청에 대한 유일한 대답을 표시하십시오. – atomless

+0

나는 당신을 투표하지 않았다. 다른 사람은 의견을 남기고 응답을 기다리고 있었다. 하지만 귀하의 업데이 트에 대한 감사는 필요한 것에 가깝지만 해결책은 내 사이트에서 가장 좋은 것이 아닙니다. 터치를 확인하고 Windows 인 경우이를 확인해야 할 수도 있습니다. 태블릿 용 앱만 만들면됩니다. –

관련 문제