Sencha Environment Detection答案通過簡單的手段提供了一個大範圍。
而不是Ext.os.is.Tablet,你可以通過Ext.os.deviceType將返回生活更輕鬆:
注意:通過將「?deviceType =」添加到url中,該值也可以被欺騙。
http://localhost/mypage.html?deviceType=Tablet
Ext.os.命名是單返回:
- 的iOS
- 的Android
- 的webOS
- 黑莓
- RIMTablet
- 的MacOS
- 的Windows
- Linux的
- 巴達
- 其他
瀏覽器檢測的能力,通常可通過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
爲了檢測全屏/應用在iOS /主屏幕的瀏覽模式:
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例如可以在平板電腦或移動設備上運行。 –