1

我有一个使用原生标签栏导航栏插件以及 jQuery Mobile 的 Phonegap 2.2 应用程序。我通常在浏览我的应用程序时没有问题,尽管在某些情况下我会打开一个页面,但很快就会被重定向回上一页。

我怀疑标签栏或 jQuery Mobile 代码(或者更有可能是它们的交集)是造成此错误的原因。我有一个多页模板,在 jQuery Mobile 的术语中,并且正在以编程方式进行导航,如下所示:

$.mobile.changePage('#page-id')

本机标签栏项目的配置如下:

plugins.tabBar.createItem("contact", "Unused, iOS replaces this text by Contacts", "tabButton:Contacts", {onSelect: function() {
  $.mobile.changePage('#contact')
  plugins.navigationBar.setTitle("Contacts")
}})

我正在收听 jQuery Mobilepageshowpagehide事件,并且页面转换对于所有页面更改都正常触发,因此看起来原始页面正在正常加载。当然,我只是不知道为什么要更改第二页,回到原始页面。

我怀疑选项卡按钮onSelect回调再次被触发,因为问题似乎主要是当我从带有随附选项卡栏项目的页面转到没有的页面时,只是为了被重定向回来。

有没有人遇到过这个?jQuery Mobile 中是否还有其他挂钩可以用来监控页面状态和状态变化?

4

1 回答 1

2

我有完全一样的问题。这不是一个phonegap错误。

我在几种情况下使用JQM : phonegap、web mobile 和 web。

我仅在一种特殊情况下在网络模式(没有phonegap )中检测到该错误。

我们有一个网页闪屏,当所有内容通过changePage初始化到我们的主页时,它就会消失。

当更改太快时(这就是为什么我认为它只出现在桌面上),我们也有你的随机错误(20%)。JQM返回上一页 ( splashscreen ) 并且不启动pagebeforechange事件。

似乎唯一可行的方法是使用setTimeout()2s (这是巨大的)来延迟更改页面。

如果有人有解释...

提前谢谢。

于 2013-03-08T11:39:03.290 回答