1

ネイティブのタブバーナビゲーションバーのプラグインとjQueryMobileを使用するPhonegap2.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")
}})

pageshowjQuery Mobileとイベントを聞いてpagehideいますが、すべてのページ変更に対して通常どおりページ遷移が発生しているため、元のページが正常に読み込まれているように見えます。もちろん、 2ページ目を元のページに戻す理由がわかりません。

タブボタンのonSelectコールバックが再び発生しているのではないかと思います。問題は主に、タブバーアイテムが付いているページからないページに移動したときにリダイレクトされるだけであるためです。

誰かがこれに遭遇したことがありますか?ページの状態と状態の変化を監視するために使用できるjQueryMobileへのフックがさらにあるでしょうか?

4

1 に答える 1

2

私はまったく同じ問題を抱えています。これはphonegapのバグではありません。

phonegap、web mobile 、web など、いくつかのコンテキストでJQMを使用しています。

ある特別な状況で、web モード ( phonegapなし) でのみそのバグを検出しました。

ホームページへのchangePageを介してすべてが初期化されると消える Web スプラッシュ スクリーンがあります。

その変更を急ぎすぎると (そのため、デスクトップにしか表示されないと推測されます)、ランダムなバグもあります (20%)。JQMは前のページ (スプラッシュスクリーン) に戻り、 pagebeforechangeイベントを起動しません。

動作しているように見える唯一のことは、setTimeout()(巨大な) 2 の a を使用して変更ページを遅らせることです。

どなたか解説があれば...

よろしくお願いします。

于 2013-03-08T11:39:03.290 に答える