1

Cordovaと を使用して iOS Web アプリを作成していJQueryます。3 行のリスト ビューを持つ index.html を作成します。行をクリックすると、ページが別の page.html に変わります。クリックされた行に従って、JS はサーバーにデータを要求し、page.html を更新します。今私の質問は、それを実装するためのベストプラクティスは何ですか? 私はフロントエンドに慣れていないので、それを行うための通常のスタイルはどれですか。現在、index.html にアンカーを追加しています。

<li><a href="page.html">A Header Bars</a></li>

ただし、問題があります。

  1. page.htmlでクリックされた行の情報を取得する方法がわかりません
  2. page.html で、データを取得するリクエストを開始するにはどうすればよいですか? page.html には、次のように記述します。

    $(document).ready(function()
    {
        console.log("test");
        document.write("page test");
    })
    

しかし、それは呼び出されません。

ありがとう。

4

3 に答える 3

6

あるページから別のページへの値が必要な場合、いくつかのオプションがあります (複数のページを持つ単一の jQM html と、複数の html ファイルを中心に構築された jQM プロジェクトに同じ規則が適用されます)。

I. 2 番目のページで pagebeforeshow を使用し、データ オブジェクトを通じて必要なすべてのデータを取得します。2 つの html ファイルがあるとします。最初の html の ID は「page1」で、2 番目の html の ID は「page2」です)。例:

$('#page2').live('pagebeforeshow', function (e, data) {
    alert(data.prevPage.find('div[data-role="content"]').attr('id'));
});

Ⅱ.2 番目のオプションは、データ ストレージとして使用される共有オブジェクトを作成することです。

var storeObject = {
    someValue : '1',
    anotherValue : '2'
}

これは最も簡単な解決策ですが、ajax ページの読み込みがアクティブな場合にのみ機能します。

III. changePage で値を渡すことができます。

$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });

次のように読みます。

$('#page2').live('pagebeforeshow', function (e, data) {
    var paremeter = $(this).data("url").split("?")[1];;
    paremeter = paremeter.replace("paremeter=","");   
    alert(paremeter);
});

より詳しい情報

このトピックについて詳しく知りたい場合は、この記事をご覧ください。例を含むいくつかのソリューションが見つかります。

于 2012-12-18T11:45:30.363 に答える
0

ここでこの例を確認してください。お役に立てば幸いです。

http://wpcertification.blogspot.com/2012/05/using-jquery-mobile-in-phonegapcordova.html

于 2012-12-18T07:30:40.480 に答える
0

https://stackoverflow.com/a/16497284/3169868はこれによく答えます。cordova+wp8 の場合、LocalStorage を使用したオプションは簡単に実装できます。

于 2016-02-11T06:19:06.283 に答える