デフォルトでは、jQuery Mobileは外部ドキュメントから最初data-role="page"
または最初の要素のみを読み込みます。セクションも省略されていますdata-role="dialog"
。<head>
解決策は、すべてのページを 1 つの HTML ドキュメントに入れるか、各疑似ページを独自の HTML ドキュメントに入れることです。
外部ドキュメント内のすべての疑似ページを手動で取得するコードを作成できます。
HTML --
<a class="multi-page-link" href="some-external-document.html"></a>
JS --
//when a pseudo-page initializes this code will run
$(document).delegate('.ui-page', 'pageinit', function () {
//find elements tagged with the above class and bind to their `click` events
$(this).find('.multi-page-link').bind('click', function () {
//show the loading spinner
$.mobile.showPageLoadingMsg();
//create AJAX request for href of link
$.ajax({
url : this.href,
dataType : 'html',
success : function (response) {
//on successful response, find all the pseudo-page elements in the external document and append them to the `<BODY>`
var $pseudoPages = $(response).filter('[data-role="page"], [data-role="dialog"]').appendTo('body');
//now hide the loading spinner
$.mobile.hidePageLoadingMsg();
//and navigate to the first pseudo-page that was just added to the DOM
$.mobile.changePage($pseudoPages.eq(0));
},
error : function (a, b, c) { /*Don't for get to handle errors*/ }
});
return false;
});
});
これにはプラグインがあると思いますが、それがどこにあるか、サポートされているかどうかはわかりません。