2012-04-24 13 views
1

私はアンドロイドとiosでうまく動作するjqmを使用するphonegapアプリケーションを持っています。私は歴史の問題を持っているWP7への移植 WP7.5、phonegapとjqmを組み合わせた履歴の問題

、特に history.back()(だけでなく、 .GO(-1)など)。これは、前の 'ページ'が同じ物理htmlファイル内にあった履歴に戻ることを指します。 data-role = page div。

通常のブラウザでjwmサイトを使用すると、同じHTMLファイル内に別々の「ページ」があります。また、あるhtmlファイルから別のhtmlファイルに移動するときにhistory.back()を使っても問題ありません。これは、WP7.5、jqm、およびPGの特定の組み合わせです。

誰かがこれに対する解決策を見つけましたか?それは私を夢中にさせているし、PG 1.4.1とjwm 1.0以来の問題でもあります。

EDIT 1:WP7.5でwebviewを初期化するphonegapプロセスが、ロードされた後、jqmヒストリオーバーライドを何とかオーバーライドする可能性があります。

EDIT 2:間違いなく、jqmは履歴を変更できません。 - 私は知っている私は「歴史」オブジェクトを検査するとき、私はreplaceStateまたはpushStateための機能がないが見つかりました:「ページ」変更があるたびに、history.lengthはまだ0

EDIT 3でありますjqmは履歴ナビにこれを使用しています。多分それが問題です。

答えて

1

ok - これは完璧ではありませんが、ここで私のために働く解決法(読み込み:ハック)です。 は、実際のURLの変更ではなく、ページのハッシュ変更にのみ使用できます(ただし、正規表現チェックを追加することはできます)。これを実行するコードのどこかに置くondeviceready

if (device.platform == 'WinCE') { 
    window.history.back = function() { 
     var p = $.mobile.urlHistory.getPrev(); 
     if (p) { 
      $.mobile.changePage("#" + p.pageUrl, { reverse: true }); 
      $.mobile.urlHistory.stack.splice(-2, 2); 
      $.mobile.urlHistory.activeIndex -= 2; 
     } 
    } 
} 
関連する問題