Sto tentando di mostrare, JQM 1.2 RC-1, il messaggio di caricamento durante l'applicazione iniziale/sito init e ogni volta che un utente torna alla pagina #index. La mia comprensione del modo di farlo sarebbe la seguente, tuttavia, non funziona come previsto. Questo non mostra il messaggio di caricamento.Jquery Mobile 1.2RC-1 messaggio di caricamento non visualizzato
$('body').on('pagebeforeshow', '#index', function(){
$.mobile.loading('show')
$('#index ul li').remove()
var post_data = {
action: 'an_action',
method: 'method'
}
$.ajax({
type: 'POST',
url: ajaxurl,
data: post_data,
cache: false,
dataType: 'text',
cache: false,
success: function(response) {
$('#index ul').append(response)
$('#index ul').listview('refresh')
$.mobile.loading('hide')
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(' => ' + jqXHR + ' => ' + textStatus + ' => ' + errorThrown)
}
})
})
La soluzione che ho trovato qui (StackOverflow) funziona per mostrare il messaggio di caricamento in fase di caricamento.
$('#index').live('pageshow', function(event) { //Workaround to show page loading on initial page load
$.mobile.loading('show')
})
Il problema che sto vivendo è quando a navigare di nuovo alla INDEX e il messaggio di caricamento è volte rimossi e altre volte rimane.
Se il messaggio di caricamento è attivo e faccio clic su un collegamento per lasciare la pagina corrente, il messaggio di caricamento viene rimosso come previsto. Quando torno dallo stesso link a #index il messaggio di caricamento viene a volte rimosso senza aggiornare la pagina nel browser.
Esiste un altro metodo per ottenere il messaggio di caricamento sull'applicazione iniziale/sul carico del sito?
Ulteriori informazioni:
Testato su iDevice in esecuzione Safari iOS 6 e Chrome, Mac OSX Chrome, Safari, Firefox, Opera con gli stessi risultati.
jQuery Mobile 1.2 RC-1
Sto usando modello di pagina singola e l'iniezione di dati del server in elenchi poi transizione a diversi pagina # id.
Ho provato senza successo:
$('#index').live('pageinit', function(event) {
$.mobile.loading('show')
})
Il $ .ajax() è successo di essere attivato e completato come posso cambiare i dati del server ed è sempre cambiato all'interno dell'applicazione.
Questo è confuso poiché il $ .mobile.loading ('nascondi') deve essere attivato e nascondere il messaggio di caricamento poiché la risposta è riuscita. Questo mi porta a credere che non si tratti di un problema di memorizzazione nella cache.
Lo stesso problema qui. Sembra essere un bug con questa versione. – Bema
Forse provate la versione di spedizione al posto della RC? – andleer
Anche io ho riscontrato gli stessi problemi per il browser Chrome, ho dedicato del tempo per eseguire il debug ma non ci sono riuscito. – MaNKuR