有没有办法在PhoneGap(JavaScript)中获取iOS的设备模型/标识符,如“iPhone3,1”?
3 回答
在 Cordova (PhoneGap) 2.3.0 中,无需使用任何插件即可device.model
对于所有平台,都有一个名为 device.model 的新属性——它返回特定的设备型号,例如“iPad2,5”(对于其他平台,它返回用于返回的 device.name)。
是的,通过Device API。您可以通过 window.device.* 访问它们。以下是属性列表:
device.name
device.cordova
device.platform
device.uuid
device.version
“从 3.0 版开始,Cordova 将设备级 API 实现为插件。”
您必须首先安装插件(从项目主目录):cordova plugin add org.apache.cordova.device
这是使用它的示例代码:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Model: ' + device.model + '<br />' +
'Device Cordova: ' + device.cordova + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
安装插件后,您可以通过以下方式读取设备型号:window.device.model
别忘了在deviceready事件之后调用它,别忘了加载cordova.js 仍然存在设备报告不准确的问题。我在各种 IOS 设备上对其进行了测试,得到以下结果:
iPhone 4 被报告为 iPhone3,1
iphone 5s被报告为 iPhone6,2
iPhone 6 Plus被报告为 iPhone 7,1
iPad 2报告为 iPad3,3
我现在进行调查以了解这些值的含义。如果有人有线索,我会很高兴听到。