2012-08-05 5 views
2

iPhone으로 페이지를 방문했는지 감지하는 방법을 찾고 있습니다.자바가 iPhone 웹 브라우저를 감지합니다.

내가 기본적으로 찾고있는 것은 iPhone을 제외한 모든 사람들이 특정 웹 페이지를 볼 수 없도록하는 것입니다.

같은 것 ...

브라우저! = iPhone 인 경우 종료;

Javascript를 사용하면 가능합니까?

+0

요청할 수 :

그것을 가져오고 이러한 예와 같이 자유롭게 사용

? (내 Android는 시원한 키즈 클럽에 포함되어 있지 않습니까?) 몇 년 전에 특정 브라우저에서만 페이지를 볼 수 있도록 시도해 보았습니다. 그 이후로는 끔찍한 아이디어였습니다. 이것이 오늘날까지 - IE가 모질라라고 주장한 이유입니다. 브라우저를 감지하지 마십시오. 기능 감지. – josh3736

+0

특별한 이유가 없다. – Satch3000

+0

그냥 시험용이다. – Satch3000

답변

12
if (navigator.userAgent.toLowerCase().indexOf("iphone") ==-1) 
    location.replace("goaway.html"); 
+0

Safari가 아닌 다른 브라우저를 실행하는 감옥 아이폰이라면? – RobG

+3

그리고 뭐라구? 또는 가짜 userAgent와 사파리가있는 PC. 또는 JS가있는 항목이 – mplungjan

+0

으로 바뀌면 서버에서 직접 처리하거나 "iPhone 사용자가 여기를 클릭하십시오"버튼을 사이트에 올려 놓으십시오. – RobG

3
if(navigator.userAgent.match(/iPhone/i)) { 
    ... 
} 

DOM을로드하기 전에이를 수행하는 것이 좋습니다. PHP로 : -

내가이 is-mobile component을 쓴 당신은 안드로이드, iOS 및 다른 플랫폼에서 실행중인 여부를 감지 할 수있는 경우

<?php 
    if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) { 

    } 
?> 
+3

좋은 답변 - 일치시킬 필요는 없지만 단순히 'iPhone' 문자열의 존재를 테스트하기 위해'indexOf ()'더 좋다. – Utkanos

0

당신은뿐만 아니라 다른 플랫폼을위한 솔루션이 필요합니다 잘. 내가 왜

isMobile.Android() => true/false 
isMobile.iOS() => true/false 
isMobile.any() => true/false 
isMobile.KindleFire() => true/false 
isMobile.BlackBerry() => true/false 
관련 문제