0

Phonegap-Android アプリケーションに苦労しています。私は jQuery Mobile 1.3.1 と jQuery 1.9.1 を Phonegap 2.9.0 と共に使用しています。index.html にいくつかのデータ ロール ページがあり、ajax 関数を使用して他のページを動的に生成しています。問題は、動的に生成されたページを表示した後、常に画面が真っ白になることです。index.html で静的に作成されたページ間を移動する場合、これは決して起こりません。

助言がありますか?私は試してみました:

  • < meta name="viewport" content="width=device-width, user-scalable=no" />

  • CSS: .ui-page { -webkit-transform: translateZ(0); -webkit-パースペクティブ:1000; -webkit-backface-visibility: 非表示; -msie-backface-visibility: 非表示; -ms-backface-visibility: 非表示; }

  • defaultPageTransition = "なし"

新しいページは Mustache.js を使用して作成されます。

4

1 に答える 1

0

jQuery Mobile で DOM キャッシングをグローバルに有効にすることは、すぐに試すことができます。

$.mobile.page.prototype.options.domCache = true;

また

pageContainerElement.page({ domCache: true });

jQMのajaxナビゲーションを利用するために必要な、動的に生成されたマークアップを含まない特定のページに由来すると思います...独自の内部履歴追跡オブジェクトを使用して、hashchangeおよび/またはpopstateイベントを促進します。

さらに、動的ページが実際にどのように DOM に追加されているかを順を追って説明します。Mustache のテンプレート プラグインを引き続き使用できるはずですが、jQM を使用してマークアップを DOM に追加する必要があります。(または、オーバーライドを作成する潜在的に長いプロセスを実行します...可能であれば避けるべきだと思います。)

jQM を使用して DOM を更新すると、正しいイベントが正しい順序で発生することが保証されるため、アプリのデータ/状態が最新の状態に保たれます。

ドキュメントを使用していると確信していますが、これをもう一度見てみましょう。どの Mustache メソッドの使用をやめる必要があるか、または拡張/オーバーライドする必要があるかについて、より良いアイデアが得られるかもしれません。

お役に立てれば。

jQM リファレンス

DOM キャッシング: http://view.jquerymobile.com/1.3.1/dist/demos/#nav-cache

ナビゲーション イベント: http://view.jquerymobile.com/1.3.1/dist/demos/widgets/navigation/#nav-event-example

動的ページ読み込み: http://jquerymobile.com/demos/1.3.1/docs/pages/page-dynamic.html

于 2013-09-10T02:51:21.137 に答える