我是phonegap / cordova 3.0的新手,似乎我遇到了与PhoneGap Help: device properties, cordova v phonegap, xcode debugging类似的问题。 不幸的是,我现在无法在互联网上找到解决方案。
为ios创建Hello World示例后,一切都在模拟器中正常工作。但是在使用为den文档中的设备属性给出的示例代码更改了index.html中的内容之后,模拟器的屏幕仅显示“正在加载设备属性...”。 由于某种原因,onDeviceReady()函数无法正常工作。 任何帮助都非常感谢
以下是设备属性的index.html代码
<!DOCTYPE html>
设备属性示例
<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 Name: ' + device.name + '<br />' +
'Device Cordova: ' + device.cordova + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Model: ' + device.model + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
</body>
答案 0 :(得分:5)
正如我在您链接的其他问题中提到的,我认为这里的问题可能是缺少插件。您的 onDeviceReady 函数应该正常工作(尝试在那里发出警报,只是为了测试它)......但是当您尝试访问像 device.model 和 device.version 。
要访问设备对象,您需要安装插件。如果没有插件,复制示例代码将无法正常工作。如果您还没有这样做,请使用以下方法获取插件:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
希望这对您有所帮助。
答案 1 :(得分:0)
对于像我这样的新手,要提到必须在项目目录中使用插件链接,并且必须将插件的.h和.m文件移动到项目插件目录中。不要忘记DeviceDetails.js必须与index.js
进入同一目录答案 2 :(得分:0)
除了避免回答并避免像Helmut遇到的路径问题:
在终端/ Shell中键入以下内容:
cordova插件添加org.apache.cordova.device
不幸的是,用这种方法无法区分同一平台的不同设备。例如,如果您必须确定是否在iPhone 5上查看该应用程序,则应该检索屏幕大小。