Pergunta

Estou construindo uma aplicação web móvel que pode ou não confiar em ajax, dependendo se o usuário suporta navegador javascript. Desde que eu estou usando JQuery, eu quero ter certeza que o navegador móvel suporta AJAX através de JQuery antes de ativar a minha funcionalidade AJAX.

Eu estou correndo em um problema com o Opera Mini causa da maneira como ele processa páginas, e eu não tenho certeza como verificar isso. Aqui está o código que estou usando para teste para AJAX:

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

Onde init_ajax () permite que o meu funcionalidade Ajax e desativa a minha funcionalidade estático.

O problema é, o Opera Mini é executado este código com sucesso antes de emitir a página ao navegador, mas, em seguida, ajax na verdade não funciona na página renderizada. Tentei executar esta função em um setTimeout em vez de document.ready, mas encontrou o mesmo problema.

Existe uma maneira universal de precisão teste para a presença de AJAX em navegadores móveis?

P.S. Se você quiser testar sua solução no Opera Mini, há um emulador totalmente funcional aqui:

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

[Edit] Eu devo mencionar que esta aplicação necessidades para fazer uma chamada ajax aproximadamente uma vez por minuto usando setInterval, por isso mesmo que o Opera Mini suporta alguns ajax quando ele é acionado por um onclick, eu não acredito que há alguma maneira para torná-lo suportar chamadas de ajax feitas em um determinado intervalo. Se pudéssemos testar para isso, que provavelmente resolver o problema acima.

Foi útil?

Solução

não Opera Mini recuperar solicitações web sobre servidores Óperas renderizar as páginas e, em seguida, entregar o resultado (na forma de imagens e texto) para o alvo com funcionalidade reduzida? Com a prestação acontecendo na fazenda Opera Mini Servidor de volta, portanto, nenhuma real e comunicação para trás entre o cliente eo servidor Web, você não pode realmente fazer ajax.

Você provavelmente precisará de outro método de realizar a verificação para o Opera Mini, olhando para o user-agent para "Opera Mini / 1.2" seria o ideal. Como para a realização de uma verificação para navegadores móveis, bem, isso depende do alcance da funcionalidade fornecida pelo navegador móvel. Às vezes você apenas não pode verificar e terá de retirar determinados navegadores móveis pelo nome.

Mais informações aqui Designing Com o Opera Mini no mente .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top