【问题标题】:PhoneGap Deviceready won't fire on first run of app (iOS)PhoneGap Deviceready 不会在应用程序首次运行时触发 (iOS)
【发布时间】:2013-12-20 16:47:18
【问题描述】:

我的应用出现了一个奇怪的问题。

这是一个使用 jQuery(不是 jQuery mobile)的多页手机间隙应用程序。

当您在安装后首次运行该应用程序时,它会在索引页面上触发设备就绪。

移动到其他页面后,deviceready 不会再次触发。

如果我关闭应用程序并重新启动它,一切都会正常工作,并且设备准备就绪会在每个页面上触发。

总而言之:deviceready 不会在索引以外的页面上首次运行应用程序(安装后)时触发。

另外,我的 phonegap 插件在第一次运行时都不起作用。

应用程序首次运行后有何变化?这太奇怪了……

版本:PhoneGap 2.9.0。

【问题讨论】:

    标签: jquery ios cordova phonegap-plugins


    【解决方案1】:

    deviceready 事件只会在您启动应用程序时触发一次。如果您从后台返回,则必须收听resume

    当您在应用启动后在这些页面之间切换时,您可以执行.ready() 之类的操作来处理特定页面何时加载,如下所示:

    $(document).ready(function() {
        // Do your stuff here
    });
    

    您可以阅读有关 PhoneGap 事件的更多信息here

    【讨论】:

      【解决方案2】:

      好的,最终我了解到 PhoneGap 和多个页面不能很好地配合使用。所以我在一个页面中重新编写了整个该死的东西,并且仅使用 jquery mobile 进行页面 ajax 缓存。最终我得到了更好的过渡和更快的应用程序:)。

      所以我的建议是:如果您刚刚开始编写 phonegap 应用程序。使用一页结构,它会为你节省大量的调试时间。我也不建议过多使用 jquery mobile 的功能,只需坚持页面转换,其余部分使用常规 jquery。

      希望这对某人有所帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-15
        • 1970-01-01
        相关资源
        最近更新 更多