Device 设备

优质
小牛编辑
133浏览
2023-12-01

device对象描述设备的硬件和软件。

属性:

  • device.name
  • device.phonegap
  • device.platform
  • device.uuid
  • device.version

变量作用域:

由于device被分配到window对象,隐含说明其作用域为全局范围。

// 下面两句引用了相同的“device”对象 
var phoneName = window.device.name; 
var phoneName = device.name;

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;

完整的范例:

<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>
<p id="deviceProperties">Loading device properties...</p>

Android 的特异情况:

  • 获得产品名称而非型号名称。
    • 产品名称一般是在生产过程中设定的代码名称。
    • 例如:Nexus One返回“Passion”,Motorola Droid返回“voles”。

iPhone 的特异情况:

  • 获得设备的定制名字而非设备型号名称。
    • 定制名称是由所有者在iTunes中定制的。

device.phonegap

获取设备上正在运行的PhoneGap版本信息。

var string = device.phonegap;

说明:

device.phonegap返回设备上正在运行的PhoneGap的版本号。

支持的平台:

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例:

var name = device.phonegap;

完整的范例:

<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>
<p id="deviceProperties">Loading device properties...</p>

device.platform

获得设备使用的操作系统名称。

var string = device.platform;

支持的平台:

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例:

// 根据不同的设备,下面是一些例子: 
//   - "Android"
//   - "BlackBerry"
//   - "iPhone"
//   - "webOS"
var devicePlatform = device.platform;

完整的范例:

<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>
<p id="deviceProperties">Loading device properties...</p>

iPhone的特异情况:

  • 所有设备均返回iPhone,但这是不准确的,因为Apple已经将iPhone的操作系统更名为iOS。

BlackBerry 的特异情况:

  • 设备会返回设备的平台版本号而非平台名。例如Storm2 9550将返回“2.13.0.95” 或类似的信息。

device.uuid

获得设备的全球唯一标识符(UUID)。

var string = device.uuid;

说明:
UUID是由设备生产商及特定设备平台或型号所决定的。

支持的平台:

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例:

// Android: 返回随机的64位整数(作为字符串)
//    这个整数在设备第一次启动时生成
// BlackBerry: 返回设备的PIN码
//     这是一个九位数的唯一证书(作为字符串) 
// iPhone: (从UIDevice类文档中转述)
//    返回由多个硬件设备标示所生成的哈希值。
//  这是为了保证每一台设备是唯一的,因此不能和用户账号相关联。
var deviceID = device.uuid;

完整的范例:

<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>
<p id="deviceProperties">Loading device properties...</p>

device.version

获得操作系统的版本号。

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;

完整的范例:

<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>
<body onload="onLoad()">
<p id="deviceProperties">Loading device properties...</p>