gpt4 book ai didi

javascript - 波纹模拟器不会触发事件

转载 作者:行者123 更新时间:2023-12-04 04:49:08 32 4
gpt4 key购买 nike

我安装了最新的 Ripple Emulator(Chrome 商店提供最新的),一切正常,除了事件。它们都没有触发(不仅 deviceready 和其他一些 Stack Overflow 问题一样,没有)。
既不手动(使用 Events Pane )也不自动(deviceready)触发。
当我使用手动方法时,Ripple 会向控制台写入一行,表示它正在触发一个事件,但实际上什么也没发生。我的应用程序根本没有反应。我有 backbutton事件绑定(bind),它在 Ripple 中不起作用。当我将它的初始化部分移动到 deviceready 时,应用程序完全停止了工作。事件,因为它没有被触发。当然,在目标设备上一切都很好,所以代码应该是正确的。
什么可能导致这种行为,是否有任何解决方法?
编辑 : 我有 Ripple Emulator (Beta) 0.9.15在 Windows 7 上作为 Chrome 扩展安装。在目标设备上一切正常,所以 JS 代码(事件处理程序)应该没问题。

最佳答案

经过更深入的调查,我设法解决了这个问题(至少部分解决了——有些事件被触发了,有些则没有)。在我的情况下,它是丢失的 .js (PhoneGap 源)文件问题。

成功的关键在于:

  • 其实有PhoneGap/Cordova JS 文件放置在您的应用内容中并拥有它正确引用 (有效的路径和文件名)在您的源文件中。
  • 中有源文件正确版本 (2.0.0)截至撰写本文。

  • 第一对于被指示删除源文件的 PhoneGap Build 用户来说,这尤其令人困惑。源文件( <script type="text/javascript" src="cordova.js"></script> )中的引用应该保持不变,但它引用的文件不应该退出。 PhoneGap Build 将在编译/构建过程中注入(inject)此文件(以适当的版本)。

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

    第二也很重要。我发现,当前版本的 Ripple 是基于 PhoneGap API 2.0.0 构建的。 ,与当前可用的 PhoneGap API 3.0.0 相比,它已经非常非常古老了.因此,要让 Ripple 工作几乎没有故障,您必须 [浏览 PhoneGap 存储库( http://phonegap.com/install/)并获取 PhoneGap 2.0.0 源,2012 年 7 月 20 日发布并提取 cordova.js文件。然后将它放在你的 webapp 的源文件夹中,添加正确的引用,然后尝试 Ripple。

    现在至少应该触发一些事件(一些,如 deviceready )可能仍然失败。

    另外,请记住, everything, including event handlers, must be defined in a deviceready event listener code ,否则整个事情都会失败。

    Ripple 的 JIRA 问题,可能与此有关:
  • Support for the last version of PhoneGap ,
  • Ripple Emulator under Windows doesn't fire events ,
  • Ripple should check, if phonegap.js / cordova.js files really exists .

  • 顺便说一句:如果您打开浏览器的控制台并手动触发一个事件,您会看到 Ripple 写入控制台的正确通知。这意味着,Ripple 认为,如果在模拟的 web 应用程序上触发偶数,但实际上并没有触发它。

    关于javascript - 波纹模拟器不会触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17701869/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com