複数のHTMLページ、jquery、電話ギャップを備えたモバイルアプリを作成しています。アプリのページに同じフッターを重複してコピーして貼り付けたくなかったので、グローバルフッター.htmlを作成し、そのファイルのコンテンツを次のようなドキュメント.ready()にロードしようとしました。
フッターHTML
<div data-role="navbar" data-grid="d">
<ul class="apple-navbar-ui comboSprite">
<li><a href="../dashboard.html">Home</a></li>
<li><a href="../contacts/contacts.html">Contacts</a></li>
<li><a href="../applications/applications.html">Applications</a></li>
<li><a href="settings.html">My Account</a></li>
</ul>
</div>
メインHTML
<div data-role="page">
<div id="footer" data-role="footer">
</div>
</div>
$(document).ready(function () {
$('#footer').load("footer.htm");
$('#footer').trigger('create');
});
footer.htmlのコンテンツをロードしますが、JquerymobileのUIはレンダリングされません。
しかし、ドキュメント対応コードをこれに変更したとき
$(document).ready(function () {
$.get('footer.htm', function (retData) {
$('#footer').append(retData);
$('#footer').trigger('create');
});
});
それはうまくいきました。
では、これら2つのアプローチの違いは何ですか?そして、なぜ1つは機能し、もう1つは失敗したのでしょうか。