Domanda

Sto costruendo un'applicazione web mobile che può o non può fare affidamento su ajax, a seconda se il browser dell'utente supporta javascript. Dal momento che sto utilizzando jQuery, voglio fare in modo il browser mobile supporta AJAX attraverso JQuery prima di attivare la mia funzionalità AJAX.

Io corro in un problema con Opera Mini a causa del modo in cui rende le pagine, e non sono sicuro di come controllarlo. Ecco il codice che sto usando per testare AJAX:

$(document).ready(function () {
    $.get(
        'test.txt',
        function() {
            init_ajax();
        }
    );
});

Dove init_ajax () consente la mia funzionalità Ajax e disabilita la mia funzionalità statica.

Il problema è, Opera Mini viene eseguito questo codice correttamente prima di emettere la pagina al browser, ma poi l'Ajax in realtà non funziona sulla pagina visualizzata. Provai ad eseguire questa funzione in una setTimeout trascurando document.ready, ma incontrato lo stesso problema.

C'è un modo universale per testare con precisione la presenza di AJAX nel browser mobile?

P.S. Se volete testare la vostra soluzione in Opera Mini, c'è un emulatore completamente funzionale qui:

http://www.opera.com/mini/demo/

[Modifica] Devo dire che questa applicazione ha bisogno di fare una chiamata AJAX circa una volta al minuto, utilizzando setInterval, quindi, anche se Opera Mini supporta alcuni ajax quando viene innescato da un onclick, non credo che ci sia alcun modo per renderlo supportare chiamate ajax realizzate ad un certo intervallo. Se abbiamo potuto testare per questo, che sarebbe probabilmente risolvere il problema di cui sopra.

È stato utile?

Soluzione

Non Opera Mini recuperare le richieste web su server Opera il rendering delle pagine e poi consegnare l'uscita (sotto forma di immagini e testo) al bersaglio con funzionalità ridotte? Con il rendering avviene in azienda Opera Mini Server quindi nessuna vera avanti e indietro la comunicazione tra il client e il server Web, non si può effettivamente fare ajax.

Probabilmente avete bisogno di un altro metodo di eseguire il controllo per Opera Mini, guardando l'user-agent per "Opera Mini / 1.2" sarebbe l'ideale. Per quanto riguarda l'esecuzione di un controllo per i browser mobili, beh, dipende dal campo di applicazione della funzionalità fornita dal browser mobile. A volte non si può controllare e dovrà tirare fuori particolari browser mobili per nome.

Maggiori informazioni qui Progettazione Con Opera Mini in mente .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top