Sencha Environment Detection предлагает широкий спектр с помощью простых средств.
Вместо Ext.os.is.Tablet, вы можете сделать жизнь проще с помощью Ext.os.deviceType, который возвратит:
NB: это значение также может быть испорчено добавлением «? DeviceType =» к URL-адресу.
http://localhost/mypage.html?deviceType=Tablet
Внешние данные.имя является одноточечно возвращение:
- IOS
- Android
- WebOS
- BlackBerry
- RIMTablet
- MacOS
- Окна
- Linux
- Bada
- Другое
Обычная способность обнаружения браузера доступна через Ext.browser.name.
Что-то, с чем я недавно сталкивался, что я люблю - это обнаружение функции - это позволяет кодирование, аналогичное Modernizr/YepNope, исходя из способности устройства. Ext.feature предложения:
- 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
Чтобы обнаружить полноэкранное приложение// режим браузера на рабочем столе прошивки:
window.navigator.standalone == true
Ориентация Ext.device.Orientation и ориентация изменения:
Ext.device.Orientation.on({
scope: this,
orientationchange: function(e) {
console.log('Alpha: ', e.alpha);
console.log('Beta: ', e.beta);
console.log('Gamma: ', e.gamma);
}
});
Ориентация основана на Видовом экране.Я обычно добавляю более надежный слушатель:
onOrientationChange: function(viewport, orientation, width, height) {
// test trigger and values
console.log('o:' + orientation + ' w:' + width + ' h:' + height);
if (width > height) {
orientation = 'landscape';
} else {
orientation = 'portrait';
}
// add handlers here...
}
Я видел этот путь, но проблема в том, что я также хочу указать, является ли устройство мобильным устройством или планшетом. Android, например, может работать как на планшете, так и на мобильном устройстве. –