... the problem is that i can't manage to navigate between the new pages in the new html.
この行は、リモートURLリンクの複数ページのテンプレートを返そうとしていると私に信じさせます(つまり、押したリンクは同じドキュメントの疑似ページにリンクせず、別のドキュメントにすべて一緒にリンクします)。これは、jQuery Mobileではデフォルトでは許可されていません(機能のプラグインを見つけることができると思います)。jQuery Mobileは、返された外部ドキュメントから最初の要素data-role="page
または要素のみを取得します。data-role="dialog"
単一ページのテンプレートを使用することもできます。この場合、各単一の疑似ページは独自のドキュメントに含まれ、通常のURL( "/contact-us/index.php"など)を介して各テンプレートにリンクします。
また
必要なすべてのページを1つのドキュメントに配置し、それらの間をハッシュベースのリンク(「#home」など)でリンクできます。これを行う場合でも、データベースからデータを取得できますが、AJAXを介して取得するためのコードを作成する必要があります(ほとんどの場合、ページイベントにバインドします)。
また
多分これのためのプラグインがあります。そうでない場合は、実際に作成するのはそれほど難しいことではありません。jQueryMobileに外部data-role="page"
要素を実行させるのではなく、自分で外部要素を取得し、それらをすべてDOMに追加してから、通常のように最初の要素に移行する必要があります。
アップデート
複数の疑似ページを一度にロードする場合は、次のことを試してください。
//hijack link clicks on links with the `click-hijack` class
$(document).on('click', '.click-hijack', function () {
//show loader
$.mobile.loading('show');
//create AJAX request for pseudo-page(s)
$.ajax({
url : $(this).attr('href'),
dataType : 'html',
success : function (response) {
//hide loader
$.mobile.loading('hide');
//get the pseudo-page(s) from the AJAX response
var $pages = $(response).find('[data-role="page"], [data-role="dialog"]');
//append the pseudo-page(s) to the DOM
//(this may need to change if you are using a framework like ASP.NET as they can add wrapper DOM elements)
$("body").append($pages);
//now that the pesueo-page(s) is/are in the DOM, we can transition to them normally
$.mobile.changePage('#' + $pages.eq(0).attr('id'));
},
error : function () {
//don't forget to handle errors
}
});
//stop the default behavior of the link, as well as propagation of the click event
return false;
});
注:このコードはテストされていません。コードを使用するときは、これを考慮してください。