Cordova 如何使用Ripple Emulator for Windows测试PhoneGap应用程序?
Ripple emulator可以用于在Windows下测试PhoneGap应用程序吗? 要么我做了一些非常糟糕的事情,要么Ripple在这样的环境中根本不起作用 我已经从Chrome商店为Chrome安装了Ripple Emulator扩展。我将Chrome导航到我的移动应用程序(通过XAMPP在本地提供)。我单击了Chrome omnibar旁边的Ripple图标,并在打开的窗口中单击了启用。我选择了合适的平台(Cordova 如何使用Ripple Emulator for Windows测试PhoneGap应用程序?,cordova,ripple,Cordova,Ripple,Ripple emulator可以用于在Windows下测试PhoneGap应用程序吗? 要么我做了一些非常糟糕的事情,要么Ripple在这样的环境中根本不起作用 我已经从Chrome商店为Chrome安装了Ripple Emulator扩展。我将Chrome导航到我的移动应用程序(通过XAMPP在本地提供)。我单击了Chrome omnibar旁边的Ripple图标,并在打开的窗口中单击了启用。我选择了合适的平台(Cordova 2.0) 我的应用程序以类似移动设备的外观重新加载,模拟移动设备
Cordova 2.0
)
我的应用程序以类似移动设备的外观重新加载,模拟移动设备。Ripple无法从config.xml
文件中读取我的配置,但这是一个众所周知的错误(报告和)。我希望,这不是一个阻止我使用Ripple的问题
我已经选择了我的设备(三星Nexus
),并开始测试我的移动设备。即使是对PhoneGap API的第一次调用也失败了。我尝试了compass,但得到的结果是无法调用未定义的方法“watchHeading”
如何定义基本PhoneGap对象?我错过了什么?我可以用Ripple Emulator在Chrome的Windows下测试PhoneGap应用程序吗?或者我完全不知道Ripple是什么
我试图帮助自己编写Ripple文档,但第“”章完全是废话。我在Ripple图标中甚至没有启动Ripple服务
选项的标志(只有启用
和禁用
),当我单击启用
时,没有许可协议的标志,我可以查看并接受。我感觉这个医生说的和我用的完全不同
如何使用Chrome中的Ripple来测试PhoneGap应用程序?我遗漏了什么?Ripple应与最新版本的Phonegap配合使用,尽管在页面加载过程中可能会弹出一些虚假错误消息,这是因为Ripple与最新的Phonegap版本不太同步。确保已将Phonegap JS包含在页面中。请尝试以下示例-它在Ripple中对我很好:
<html>
<head>
<script type="text/javascript" charset="utf-8" src="cordova-2.8.0.js"></script>
<script type="text/javascript">
function deviceready() {
console.log("Device ready");
navigator.compass.watchHeading(function(heading){
document.getElementById("heading").innerHTML = heading.trueHeading;
},function(error){
var errorType;
switch(error.code){
case CompassError.COMPASS_NOT_SUPPORTED:
errorType = "Compass not supported";
break;
case CompassError.COMPASS_INTERNAL_ERR:
errorType = "Compass internal error";
break;
default:
errorType = "Unknown compass error";
}
document.getElementById("heading").innerHTML = errorType;
});
}
document.addEventListener("deviceready", deviceready, true);
</script>
</head>
<body>
<h1>Test</h1>
<p>Heading: <span id="heading"></span></p>
</body>
</html>
函数devicerady(){
控制台日志(“设备就绪”);
导航器、指南针、手表航向(函数(航向){
document.getElementById(“heading”).innerHTML=heading.trueHeading;
},函数(错误){
var错误类型;
开关(错误代码){
不支持机箱CompassError.COMPASS\u:
errorType=“不支持指南针”;
打破
机箱CompassError.COMPASS\u INTERNAL\u错误:
errorType=“指南针内部错误”;
打破
违约:
errorType=“未知罗盘错误”;
}
document.getElementById(“heading”).innerHTML=errorType;
});
}
文件。添加的监听器(“DeviceRady”,DeviceRady,true);
试验
标题:
tl;dr:与PGB文档中所说的相反,您必须在应用程序的根目录中保留一份cordova.js
文件的副本,并且该文件必须完全取自PhoneGap的2.0版,因为Ripple Emulator的最新版本既不适用于其他版本,也不适用于没有该文件的情况
解决方案
我正在使用PhoneGap构建而不是本地PhoneGap环境开发我的PhoneGap应用程序。所以——正如我被指示的那样——我已经从我的应用程序的webroot中删除了phonegap.js
文件,只在index.html
中留下了对它的引用。这对于PhoneGap构建来说很好,但对于Ripple Emulator来说绝对不是很好
自从我从phonegap-2.0.0.zip的lib\android\example\assets\www\
文件夹中放回该文件后(实际上是cordova.js
),我设法查看许可证,启动Ripple服务并在本地测试工作的phonegap应用程序
请注意:Ripple Emulator的当前版本使用的是Cordova 2.0
。请确保您下载了PhoneGap的正确版本,并从中获取Cordova.js
!不要尝试从较新版本(当前为3.0.0
)使用Cordova.js
)因为您可能会遇到无法检测的情况,包括看到许多奇怪的警报()
,甚至挂断过载的Chrome
始终确保您使用的是PhoneGap的JS文件版本,这是Ripple背后的版本
一步一步地
使用Chrome和Ripple Emulator在Windows下测试PhoneGap应用程序的关键步骤:
将cordova.js
文件放回您的文件夹根目录并检查对它的引用。您可以从任何可下载版本的PhoneGap的lib\android\example\assets\www\
文件夹中获取它(您应该使用PhoneGap-2.0.0.zip
,请参见上文)
使用Chrome应用商店为您的Chrome浏览器安装Ripple Emulator
扩展。启用它
启动本地Web服务器并通过它运行移动应用程序的HTML代码(在Ripple Emulator中主要可以通过直接文件访问进行测试,但不建议这样做,并且可能会产生不可预测的结果)
单击Ripple Emulator图标,右键单击Chrome omnibar,然后单击启用(或右键单击页面,从上下文菜单中选择适当的选项)
接受许可协议并选择合适的平台(Cordova 2.0.0
)
再次单击Ripple Emulator图标,如果未自动启动Ripple服务,请单击启动Ripple服务
设置目标平台(设备)并在本地使用PhoneGap应用程序
版本和API不同
var networkState = navigator.connection.type;
var networkState = navigator.network.connection.type;
var networkState = ((navigator.connection) ? navigator.connection.type : ((navigator.network && navigator.network.connection) ? navigator.network.connection.type : 'unknown'));
var debugMode = typeof(window.tinyHippos) !== 'undefined';
var networkState = (debugMode) ? navigator.network.connection.type : navigator.connection.type;