안녕하세요.
꺽달이 김종광입니다.

Sencha 에는 User-Agent 를 확인해서 어떤 환경에서 실행 되고 있는지 쉽게 파악 할 수 있습니다.
(User-Agent 확인 하는 일이 은근 골치 아프죠.;;)

참조 URL : http://docs.sencha.com/touch/2.3.1/#!/guide/environment_package

[OS 구분]

  • iOS
  • Android
  • webOS
  • BlackBerry
  • RIMTablet
  • MacOS
  • Windows
  • Linux
  • Bada
  • Other

그리고

  • ​iPhone
  • iPad
  • iPod
  • Desktop
  • Phone
  • Table

이렇게 있습니다. 사용 방법은..

if (Ext.os.is.Android) {
    // ...
}

if (Ext.os.is.iOS) {
    // ...
}

[브라우저 구분]

  • Safari
  • Chrome
  • Opera
  • Dolfin
  • webOSBrowser
  • ChromeMobile
  • Firefox
  • IE
  • Other

그리고, 몇가지 더 있는데요

  • Ext.browser.userAgent – User-Agent 반환
  • Ext.browser.isSecure – 현재 페이지가 SSL 통신인지 여부
  • Ext.browser.isStrict – 브라우저의 strict mode 여부
  • Ext.browser.engineName – 브라우저 엔진 이름 (WebKit, Gecko, Presto, Trident and Other)
  • Ext.browser.engineVersion – 브라우저 엔진의 버전
if (Ext.browser.is.Safari) {
    // ...
}

if (Ext.browser.is.IE) ) {
 // ...
}

[HTML5 기능 여부]

  • Ext.feature.has.Audio
  • Ext.feature.has.Canvas
  • Ext.feature.has.ClassList
  • Ext.feature.has.CreateContextualFragment
  • Ext.feature.has.Css3dTransforms
  • Ext.feature.has.CssAnimations
  • Ext.feature.has.CssTransforms
  • Ext.feature.has.CssTransitions
  • Ext.feature.has.DeviceMotion
  • Ext.feature.has.Geolocation
  • Ext.feature.has.History
  • Ext.feature.has.Orientation
  • Ext.feature.has.OrientationChange
  • Ext.feature.has.Range
  • Ext.feature.has.SqlDatabase
  • Ext.feature.has.Svg
  • Ext.feature.has.Touch
  • Ext.feature.has.Video
  • Ext.feature.has.Vml
  • Ext.feature.has.WebSockets
if (Ext.feature.has.Canvas) {
    // ...
}

if (Ext.feature.has.WebSockets) ) {
 // ...
}