Ripple 模拟器不会触发事件

2024-05-01

我安装了最新的 Ripple 模拟器(Chrome 商店中提供的最新版本),除了事件之外,一切正常。他们都没有火灾(不仅deviceready就像其他一些堆栈溢出问题一样,没有)。

既不手动(使用Events窗格)也不会自动(deviceready) fired.

当我使用手动方法时,Ripple 会向控制台写入一行,表明它正在触发一个事件,但实际上什么也没发生。我的应用程序根本没有反应。我有backbutton事件绑定,但它在 Ripple 中不起作用。当我将其初始化部分移至deviceready事件,因为它没有被触发。当然,在目标设备上一切都很好,因此代码应该是正确的。

是什么导致了这种行为?是否有解决方法?

EDIT: 我有Ripple Emulator (Beta) 0.9.15在 Windows 7 上作为 Chrome 扩展安装。在目标设备上一切都很好,因此 JS 代码(事件处理程序)应该没问题。


经过更深入的调查,我已经成功解决了这个问题(至少部分地解决了——有些事件被触发,有些则没有)。就我而言,这是一个缺失.js(PhoneGap 来源)文件问题。

成功的关键是:

  1. 实际上有 PhoneGap / Cordova JS文件放置在您的应用程序内容中并拥有它正确引用(有效路径和文件名)在源文件中。

  2. 有源文件在正确的版本(2.0.0) 截至撰写本文时。

First对于 PhoneGap Build 用户来说尤其令人困惑,他们被指示删除源文件。源文件中的引用(<script type="text/javascript" src="cordova.js"></script>) 应该保持不变,但它引用的文件不应存在。 PhoneGap Build 将在编译/构建过程中注入此文件(正确的版本)。

这对于 PhoneGap 来说很好,但是瑞波币完全错误。如果您希望 Ripple 功能齐全并能够触发事件(至少是确定的),您应该将该文件保留在原处。我发现,这根本不会干扰 PhoneGap。无论是否有该文件,应用程序的构建都没有问题。

Second也很重要。我发现,当前版本的 Ripple 是基于PhoneGap API 2.0.0 http://docs.phonegap.com/en/2.0.0/index.html,与当前可用的相比,它非常非常旧PhoneGap API 3.0.0 http://docs.phonegap.com/en/3.0.0/index.html。因此,要让 Ripple 几乎没有故障地工作,您必须[浏览 PhoneGap 存储库(http://phonegap.com/install/ http://phonegap.com/install/)并抓住电话间隙2.0.0消息来源,已发布2012 年 7 月 20 日并提取cordova.js文件。然后将其放在 web 应用程序的源文件夹中,添加正确的引用,然后尝试 Ripple。

至少现在应该解雇一些事件(有些事件,例如deviceready)可能仍然会失败。

另外,请记住,一切,包括事件处理程序,都必须在deviceready事件监听器代码 https://issues.apache.org/jira/browse/RIPPLE-16,否则整个事情都会失败。

Ripple 的 JIRA 问题,可能与以下问题相关:

  • 支持最新版本的 PhoneGap https://issues.apache.org/jira/browse/RIPPLE-42,
  • Windows 下的 Ripple 模拟器不会触发事件 https://issues.apache.org/jira/browse/RIPPLE-36,
  • Ripple 应检查,如果phonegap.js / cordova.js文件确实存在 https://issues.apache.org/jira/browse/RIPPLE-37.

顺便说一句:如果您打开浏览器的控制台并手动触发事件,您将看到 Ripple 写入控制台的正确通知。这意味着,波纹thinks,如果在模拟的网络应用程序上触发一个事件,但它实际上不触发它.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ripple 模拟器不会触发事件 的相关文章

随机推荐