プリフェッチとキャッシュを使用して相互にリンクされた単一ページ テンプレートの 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