如何将phonegap device.platform值分配给变量?

时间:2012-11-01 22:33:52

标签: javascript android cordova

我想将device.platform中的值赋给变量,以便稍后在程序中查看。 例如,如果应用程序在BlackBerry上运行,我可能希望显示自定义消息。

我使用了其他地方找到的“元素”示例来确保事情正常运行(并且确实如此)。但是当我尝试将“device.platform”值分配给devicePlatform时,我遇到了问题。

我一直在与这个战斗一个小时,我必须遗漏一些相当基本的东西。 有人可以告诉我我做错了吗?

由于 罗布

<html>
  <head>
    <title>PhoneGap</title>
    <meta name="viewport" content="width=device-width">
    <script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
    <script language="JavaScript" type="text/javascript">
      // wait for PhoneGap to load
      document.addEventListener("deviceready", onDeviceReady, false);
      function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' + 
                            'Device Cordova: '  + device.cordova + '<br />' + 
                            'Device Platform: ' + device.platform + '<br />' + 
                            'Device UUID: '     + device.uuid     + '<br />' + 
                            'Device Version: '  + device.version  + '<br />';
      //
    }
    </script>    

  </head>
  <body>
    <h1>Hello PhoneGap v1.9.0</h1>

    <script>
      var devicePlatform = device.platform;
      document.write("Platform: "+devicePlatform+"<br>");    
    </script>
    <br>
    <p id="deviceProperties">Loading device properties...</p>

  </body>
</html>

2 个答案:

答案 0 :(得分:2)

尝试放

var devicePlatform = device.platform;
document.write("Platform: "+devicePlatform+"<br>");

进入函数onDeviceReady()

这应解决问题。

此外,您可能希望定义一个全局范围的变量,例如'platform',然后将device.platform分配给函数onDeviceReady()中的该变量。

示例:

var platform = null;
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  platform = device.platform;
  alert(platform);
}

更新:

我认为这更接近您所寻找的目标

<html>
  <head>
    <title>PhoneGap</title>
    <meta name="viewport" content="width=device-width">
    <script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
    <script language="JavaScript" type="text/javascript">
      // wait for PhoneGap to load
      document.addEventListener("deviceready", onDeviceReady, false);
      function onDeviceReady() {
        var element = document.getElementById('platformarea');
        element.innerHTML = device.platform;
      //
    }
    </script>    

  </head>
  <body>
    <h1>Hello PhoneGap v1.9.0</h1>

    <p id="platformarea"></p>

  </body>
</html>

答案 1 :(得分:2)

您可以使用device.platform,而不是使用cordova.platformId。 在#39;我相信它会有所帮助