2012-04-14 2 views
1

Многие люди используют следующее для обнаружения iPad или iPhone.navigator.userAgent для обнаружения для мобильного устройства?

<script> 
var agent=navigator.userAgent.toLowerCase(); 

var useHTML5 = (agent.indexOf('iphone')!=-1 || agent.indexOf('ipad')!=-1); 

if (useHTML5){ 
document.write(""); 
} else{ 
document.write(""); 
} 
</script> 

Официальный путь Apple, чтобы обнаружить только для Ipad Iphone является

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    // iPad-specific code 
} else { 
    // iPhone-specific code 
} 

Но что, если я хочу, чтобы проверить для других мобильных (по крайней мере, устройств Android в любом случае)?

Должен ли я прибегнуть к Modernizr? Или сценарий от http://detectmobilebrowsers.com/?

Просто хочу добавить, что в моем конкретном случае я использую FancyBox с VideoJS.

+2

Возможно, вам стоит обсудить, что вам действительно нужно здесь? Вы ищете конкретные возможности, которые вы знаете о некоторых мобильных телефонах? Вы делаете другой дизайн сайта для небольших экранов? Вы пытаетесь обнаружить определенные возможности HTML5? В конце концов, вам гораздо лучше определить точные характеристики, которые вам нужны (размер экрана, доступность функций, характеристика производительности и т. Д.), А не конкретный тип браузера. – jfriend00

+0

И некоторые браузеры могут изменить свой userAgent, делая это бесполезным – petschekr

ответ

1

В проекте MobileESP есть еще один массив методов обнаружения пользовательского агента в JavaScript, но MobileESP API: JavaScript очень ограничен, потому что на некоторых устройствах нет поддержки JavaScript, и обнаружение на стороне сервера - это правильный способ сделать это. DeviceAtlas Products предоставит дополнительную информацию о возможностях устройства, если это необходимо, но имеет свою цену ...

Смежные вопросы