0

プリフェッチとキャッシュを使用して相互にリンクされた単一ページ テンプレートの jQuery Mobile ページで構成される Web サイトがあります。すべてのページは (プリフェッチされた後) DOM に存在します。

これは、私のデスクトップ ブラウザでは問題なく動作します。しかし、HTC EVO 3D Android フォン (デフォルトのブラウザーまたは Opera ブラウザー) を使用してサイトを閲覧すると、ページを切り替えると実際に外部ページに移動しているように動作します。つまり、ブラウザーのアドレス バーが一瞬表示され、ページが白くなり、新しいページが読み込まれ、アドレス バーが消えます。

この動作は、マルチページ テンプレートの動作とまったく同じであると期待しています。たとえば、jQuery Mobile ドキュメントの multi-page-template を参照すると、あるページから別のページに非常にスムーズに切り替えることができます。ブラウザのアドレス ツールバーはポップアップせず、ページ間で白いちらつきもありません。ただし、「永続的なツールバー」の例 (例のすべてのページを読み込むためにプリフェッチを使用) を参照すると、私のサイトで発生しているのと同じ動作が表示されます。ブラウザのアドレス バーが表示され、ページが白くなり、次のページが表示され、アドレス バーが消えます。

では、マルチページ テンプレートを使用するようにサイトを書き直さなくても、プリフェッチされたページをマルチページ テンプレートのように動作させるにはどうすればよいでしょうか?

参考までに、jQuery Mobile の永続的なツールバーのデモとマルチページのデモは、まったく同じように動作すると思われます (URL アドレス バーの表示に関して)。

http://jquerymobile.com/demos/1.3.0-rc.1/docs/toolbars/footer-persist-a.html

http://jquerymobile.com/demos/1.3.0-rc.1/docs/pages/multipage-template.html

4

1 に答える 1

0

data-prefetch最初のページが、リンク タグの属性を使用して他のすべてのページに直接リンクしない限り<a>、それらのページはプリフェッチおよびキャッシュされません。あなたの質問は、サポートされていないページとの連鎖があることを示唆しているため、これを述べます。API を介してロードおよびキャッシュすることもできます。

$.mobile.loadPage( pageUrl, { showLoadMsg: false } );

モバイル Android デバイスで実際に DOM を検査できますか?

メモリの制約に基づいてページが DOM からフラッシュされている可能性はありますか? このシナリオに関するjQMドキュメントの詳細はわかりませんが、ある時点でキャッシュがいっぱいになります。

于 2013-02-12T22:27:12.260 に答える