このdata-url
属性は、ページ要素の起源を追跡するために使用されます。明示的に設定されていない場合、メイン アプリケーション ドキュメント内に埋め込まれたすべてdata-url
のページの属性は、 page と等しくなりますid
。これに対する唯一の例外は、ドキュメントの最初のページです。data-url
ページをリクエストすると、jQuery Mobile は最初に DOMで一致するページを見つけようとします。そのようなページが見つからない場合は、Ajax リクエストを実行し、新しいページを DOM にロードします。
以下の 3 つの方法のいずれかを使用して問題を解決できます。
次のコードを使用して、別のページに移動するときに DOM から 2 ページ目を削除します。
$(document).on('pagehide', '#second-page', function(event, ui){
$(event.target).remove();
});
このようにして、最初のページに移動すると、2 番目のページが DOM から削除され、問題が解決されます。
または:
使用する:
$.mobile.changePage('car-details.html', {
data: {
id: this.id
}
});
設定を使用せずにdataUrl
。
これにより、URL が作成されます: ../car-details.html?id=my_val
更新しても URL は同じままなので、引き続きパラメーターを取得でき、これdata-url
はページ ID と同じです。
また
DOMに 2 番目のページの ID と等しいchangePage()
ページが存在するかどうかを確認し、手動で削除してください。data-url
if ($("#second-page-id").length > 0 && $("#second-page-id").attr("data-url") === 'second-page-id' ) {
console.log('remove from DOM');
$("#second-page-id").remove();
}