Несколько человек спрашивали об обходном пути, который я в итоге реализовал, поэтому я решил поделиться им. В этом нет ничего особенно элегантного или сложного, но, похоже, это сработало. Я не использовал фреймворк с тех пор, как была выпущена официальная версия 1.0, так что это может быть решено в обновлении. По сути, я поместил вызов $.mobile.showPageLoadingMsg()
в функцию pageshow
, но заключил его в условие if, которое запускается только при первом показе страницы:
var mainloaded = false;
$('#main').live('pageshow', function(event) { //Workaround to show page loading on initial page load
if(!mainloaded) {
$.mobile.showPageLoadingMsg();
}
});
$('#main').live('pagecreate', function(event) {
$.ajax({
url: //url
dataType: //datatype,
headers: //headers
success: function(data) {
//
//...loading stuff
//
$.mobile.hidePageLoadingMsg();
mainloaded = true;
}
//
//...handle error, etc.
//
});
});