JQM 1.3.0 と Phonegap を使用するモバイル アプリがあります。アプリは Web サービスを呼び出し、すべてのページのコンテンツに AJAX を設定します。ブラウザで開発し、スクリプトを直接呼び出すと、すべて正常に動作します。
applicationScripts()
function applicationScripts(){
$(document).on("pageinit", "#page1, #page2, #page3, #page4, #page5", function() {
$.ajax({
//make call and populate content.
})
});
}
ただし、deviceready リスナー内から関数を呼び出すと、#page1 はデータを取得しません。2〜5ページはうまくいきます。(イベントリスナーを関数内に入れ子にすることも試みまし<body onload="onLoad()">
たが、同様の結果が得られました。)
document.addEventListener('deviceready', applicationScripts, false);
function applicationScripts(){
$(document).on("pageinit", "#page1, #page2, #page3, #page4, #page5", function() {
$.ajax({
//#page1 not getting content.
})
});
}
これが私の文書の頭です。私のスクリプトはすべて application.js ファイルにあります。
<script type="text/javascript" src="js/cordova.ios.js"></script>
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/jquery.mobile-1.3.0.min.js"></script>
<script src="js/application.js" ></script>
一部のファイル/イベントが他のファイル/イベントの前にロードされるタイミングの問題かどうかはわかりませんが、スクリプトの順序と「deviceready」を呼び出すさまざまな方法の考えられるすべての組み合わせを試したようです。どんな助けでも大歓迎です!