クエリモバイルを使用して、既存のサイトのモバイルバージョンを作成しています。このサイトは、wwwバージョンで正常に機能するマークアップが確立された数百ページです。問題は、#useername、#map、#photoなど、すべてのページに同じ要素IDのインスタンスが多数あることです。各ページが個別に読み込まれるため、競合が発生しないため、これはwwwでは問題ありません。JQMでは、すべてのページが何らかの形で一緒にキャッシュされており、コードが前のページを参照しているように見えます。例えば:
Page1.html
<div id="commonIdOnEveryPage">Page 1</div>
<a href="page2.html">Link</a>
<script>
alert($("#commonIdOnEveryPage").html());
</script>
Page2.html
<div id="commonIdOnEveryPage">Page 2</div>
<script>
alert($("#commonIdOnEveryPage").html());
</script>
1ページから2ページに移動するためのリンクをクリックした後も、アラートには「1ページ」と表示されます。
この例では、2ページ目のIDを簡単に変更できますが、実際のサイトでは、同じIDが使用され、JSが数千行の長さの異なるページに数百の場所があります。確かに、JQMをこれと互換性のあるものにする方法があります。