我正试图弄清楚如何使用本地网络服务器和适用于iOS的CordovaBrowser应用程序在iPad上运行加速计示例。
我相信CordovaBrowser应用程序会将所有插件内置到本机托管应用程序中,而我需要做的就是包含cordova.ios.js并且所有插件都可用。
当我从CordovaBrowser应用中浏览页面时,我得到的输出表明navigator.accelerometer
为null
。
这是HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>PhoneGap</title>
<script src="js/cordova.ios.js"></script>
<script src="Scripts/jquery-1.9.1.js"></script>
<script src="ts/app.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="Output">
</div>
</form>
</body>
</html>
这是app.js:
$(function () {
var output = $('#Output');
try {
output.text('Loading ...');
if(navigator) {
output.text('Loaded Navigator ...');
}
if(navigator.accelerometer) {
output.text('Loaded Accelerometer ...');
}
var watchID = navigator.accelerometer.watchAcceleration(function (acceleration) {
output.text('Acceleration X: ' + acceleration.x + ', ' +
'Acceleration Y: ' + acceleration.y + ', ' +
'Acceleration Z: ' + acceleration.z + ', ' +
'Timestamp: ' + acceleration.timestamp);
}, function () {
output.text('Error!');
}, {
frequency: 300
});
} catch (e) {
alert(e);
}
});
正确加载所有引用的js文件。还缺少其他东西吗?
应用支持网站上的活动很少 - 这是重定向到GitHub。并且基于唯一的问题,GitHub仅适用于Android,而不是iOS版本。它可能只是一个新应用程序中的错误,但它也可能是PhoneGap开发有很多陷阱。
我会使用其他承诺为任意文件提供正确的PhoneGap环境的东西。我去年发布了一款名为Hyperlab的应用程序非常酷,但它不适用于iPad,有一些怪癖,并且没有看过一次更新。
我没有/想要一台Mac而且我不想花99美元来愚弄这个。也许以后如果我们决定采用PhoneGap开发本机应用程序的路线。苹果是荒谬的。
答案 0 :(得分:0)
您应该为deviceready事件添加一个事件监听器,然后从那里开始:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// Now safe to use the Cordova API
}
注意:如果你没有mac或者你无法在实际设备上测试它,你可以使用chrome来调试和测试它,并使用chrome工具来改变加速度计值。 步骤进行:
1-右键单击页面,然后单击检查元素
右上角的2-选择设置
3-选择覆盖并覆盖设备方向
注意:如果您正在使用Chrome,则设备准备好的事件将永远不会被打电话,所以您应该在页面负载上打电话
答案 1 :(得分:-1)
Cordova Accelerometer依赖于cordova库插件,该插件仅与本机应用程序一起安装。在Safari中加载JS将不会产生相同的效果。您必须使用iOS设备支持的公共JS API。我的found one适用于我的iPad。