“ | device對象描述設備的硬件和軟件。 |
屬性:
- device.name
- device.phonegap
- device.platform
- device.uuid
- device.version
變量作用域:
由於device被分配到window對象,隱含說明其作用域爲全局範圍。
// 下面兩句引用了相同的“device”對象
var phoneName = window.device.name;
var phoneName = device.name;
獲得設備的型號名稱。
var string = device.name;
說明:
device.name返回設備的型號或產品名稱。這個值是由設備製造商設定,可能同一產品的不同版本之間有所不同。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// Android: Nexus One 返回 "Passion" (Nexus One的代碼名)
// Motorola Droid 返回"voles"
// BlackBerry: Bold 8900 返回 "8900"
// iPhone: 所有設備都返回由iTunes設置的名稱,如 "Joe's iPhone"
var name = device.name;
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完成
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>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
Android 的特異情況:
- 獲得產品名稱而非型號名稱。
- 產品名稱一般是在生產過程中設定的代碼名稱。
- 例如:Nexus One返回“Passion”,Motorola Droid返回“voles”。
iPhone 的特異情況:
- 獲得設備的定製名字而非設備型號名稱。
- 定製名稱是由所有者在iTunes中定製的。
獲取設備上正在運行的PhoneGap版本信息。
var string = device.phonegap;
說明:
device.phonegap返回設備上正在運行的PhoneGap的版本號。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
var name = device.phonegap;
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '' +
'Device PhoneGap: ' + device.phonegap + '' +
'Device Platform: ' + device.platform + '' +
'Device UUID: ' + device.uuid + '' +
'Device Version: ' + device.version + '';
}
</script>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
獲得設備使用的操作系統名稱。
var string = device.platform;
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// 根據不同的設備,下面是一些例子:
// - "Android"
// - "BlackBerry"
// - "iPhone"
// - "webOS"
var devicePlatform = device.platform;
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
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>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
iPhone的特異情況:
- 所有設備均返回iPhone,但這是不準確的,因爲Apple已經將iPhone的操作系統更名爲iOS。
BlackBerry 的特異情況:
- 設備會返回設備的平臺版本號而非平臺名。例如Storm2 9550將返回“2.13.0.95” 或類似的信息。
獲得設備的全球唯一標識符(UUID)。
var string = device.uuid;
說明:
UUID是由設備生產商及特定設備平臺或型號所決定的。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// Android: 返回隨機的64位整數(作爲字符串)
// 這個整數在設備第一次啓動時生成
// BlackBerry: 返回設備的PIN碼
// 這是一個九位數的唯一證書(作爲字符串)
// iPhone: (從UIDevice類文檔中轉述)
// 返回由多個硬件設備標示所生成的哈希值。
// 這是爲了保證每一臺設備是唯一的,因此不能和用戶賬號相關聯。
var deviceID = device.uuid;
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
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>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
獲得操作系統的版本號。
var string = device.version;
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// Android: Froyo 返回 2.2
// Eclair 返回2.1,2.01或2.0
// 版本也有可能返回更新級別“2.1-update1”
// BlackBerry: 使用OS 4.6的Bold 9000返回“4.6.0.282”
// iPhone: iOS 3.2 返回 “3.2”
var deviceVersion = device.version;
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
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>
</head>
<body onload="onLoad()">
<p id="deviceProperties">Loading device properties...</p>
</body>
</html>
更多信息參考:
PhoneGap中國:www.phonegap.cn
中文討論組:groups.google.com/group/PhoneGapCN