【发布时间】:2012-10-30 05:30:59
【问题描述】:
有没有办法在 PhoneGap (JavaScript) 中获取 iOS 的设备型号/标识符,如“iPhone3,1”?
【问题讨论】:
标签: javascript ios cordova device identifier
有没有办法在 PhoneGap (JavaScript) 中获取 iOS 的设备型号/标识符,如“iPhone3,1”?
【问题讨论】:
标签: javascript ios cordova device identifier
“从 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
我现在进行调查以了解这些值的含义。 如果有人有线索,我会很高兴听到。
【讨论】:
iPhone6,2 是 iPhone 5S,iPhone 6,1 是 iPhone 5。iPhone 7,1 可能指的是 iPhone 6 或 iPhone 6 Plus。
在 Cordova (PhoneGap) 2.3.0 中,无需任何插件即可使用 device.model
对于所有平台,都有一个名为 device.model 的新属性——它返回特定的设备型号,例如“iPad2,5”(对于其他平台,它返回用于返回的 device.name)。
【讨论】:
是的,通过Device API。您可以通过 window.device.* 访问它们。以下是属性列表:
设备名称
device.cordova
设备.平台
设备.uuid
设备版本
【讨论】: