PhoneGap – 手机中检测设备types
我正在为三种不同的平台构build一个手机应用程序:Android,iOS和Blackberry。 虽然这样做,我必须检测设备types,以便我可以pipe理在不同平台上的应用程序的高度和宽度,并为Android手机,Android平板电脑,iPhone,iPad和黑莓等不同的设备…
如果你想在onDeviceReady之前获得设备types,你可以像这样获得。
var deviceType = (navigator.userAgent.match(/iPad/i)) == "iPad" ? "iPad" : (navigator.userAgent.match(/iPhone/i)) == "iPhone" ? "iPhone" : (navigator.userAgent.match(/Android/i)) == "Android" ? "Android" : (navigator.userAgent.match(/BlackBerry/i)) == "BlackBerry" ? "BlackBerry" : "null"; alert(deviceType);
Phonegap中的新function是最简单的,您可以使用device.platform:
// Depending on the device, a few examples are: // - "Android" // - "BlackBerry" // - "iOS" // - "webOS" // - "WinCE" // - "Tizen" // - "browser" var devicePlatform = device.platform;
cordova.platformId // "android"
您可以使用device.name属性来获取有关设备的详细信息。
function onDeviceReady() { var name=device.name ; }
或者只获取可以使用device.platform属性的平台。
function onDeviceReady() { var name=device.name ; var plat=device.platform; }
使用此代码作为您的HTML文件
设备属性示例
<script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script> <script type="text/javascript" charset="utf-8"> // Wait for PhoneGap to load // document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap is ready // function onDeviceReady() { var element = document.getElementById('deviceProperties'); element.innerHTML = 'Device Name: ' + device.name + '<br />' + 'Device PhoneGap: ' + device.phonegap + '<br />' + 'Device Platform: ' + device.platform + '<br />' + 'Device UUID: ' + device.uuid + '<br />' + 'Device Version: ' + device.version + '<br />'; } </script>
加载设备属性…
我build议你检查这个设备运气最好的Aamirkhan一。
你可以看看下面的链接: http : //docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html
有几种方法从phonegap获取设备信息。
另一种select是查看浏览器types。 (IE = WP7,Safari = iOS,…)
我不知道你是否能够检测到你是否在Android手机或平板电脑…无论如何,你的HTML应用程序应该能够处理任何屏幕分辨率。 在手机上也可以有不同的分辨率!
function onDeviceReady() { // ***IMPORTANT: access device object only AFTER "deviceready" event document.getElementById("name").innerHTML = device.name; document.getElementById("pgversion").innerHTML = device.cordova ? device.cordov:device.phonegap; document.getElementById("platform").innerHTML = device.platform; document.getElementById("uuid").innerHTML = device.uuid; document.getElementById("version").innerHTML = device.version; }
请参阅此处了解device.platform
如果您需要这些信息,因为您正在尝试格式化屏幕 – 您应该使用CSS @media查询来确定相应的屏幕布局并相应地应用CSS。
使用Google查找“使用CSS进行快速响应devise”
布局页面时,我肯定不会使用设备types,布局应该仅基于屏幕大小
你可以使用javascript的属性:
width = window.innerWidth height = window.innerHeight
或使用CSS:
.element{ height: 50vh; //(height = 50 percent of screen) }
见vmin,vmax,vh,vw