1

jQuery モバイルと PhoneGap(1.9.0) を使用して Windows モバイル 7 アプリケーションを開発しています。アプリケーションに複数の html ページがあり、すべてのページのデータが JSON 解析によって読み込まれ、一部のデータのストレージが必要です。したがって、データストレージには localStorage を使用します (Windows ブラウザーは phonegap を介してデータベースをまだサポートしていないため)。また、Windows ブラウザーのローカル ストレージでは、phonegap の deviceready イベントでのみ動作します。

document.addEventListener("deviceready", mymethod, false);

function mymethod(){

}

ページ間を移動するときに白い画面が最初に表示され、次に新しいページが表示されることを除いて、すべてが正常に機能しています。見た目が悪い。

私は使用しますwindow.location.href='page2.html'; (すべての方法は正常に機能しますが、ページ間の移動が遅れます)

画面間を移動します。

しかし、私が使用するとき

$.mobile.changePage("page2.html");

その後、白い画面は消えますが、deviceready メソッドが機能せず、静的データ (ヘッダーとフッター) を含む空白の画面が表示されます。どこが間違っているか教えてください。どのように使用すればよいですか$.mobile.changePage("page2.html");。次のページでは、ページにローカル ストレージまたは json 解析からのコンテンツが読み込まれます。または window.location.href='page2.html';白い派手な画面なしで使用します。

皆さんが私の質問を理解してくれることを願っています。
この問題の解決策はありますか。

4

1 に答える 1

1

$.mobile.changePage("page2.html");jqm がこのページを Ajax でロードする (そして適切な遷移を行うことができる) ように使用する必要があります。(ページにとどまっているため) deviceready イベントは再び発生しませんがpageshow、ページが表示されたときにイベントをキャッチできます。

(ドキュメントから: http://jquerymobile.com/demos/1.1.1/docs/api/events.html )

$( 'div' ).live( 'pageshow',function(event, ui){
  alert( 'This page was just hidden: '+ ui.prevPage);
});
于 2012-09-11T06:50:44.800 に答える