JSONP Long Pollings sempre carregando
-
23-09-2019 - |
Pergunta
Estou fazendo uma empolgação com o JSONP e o Firefox aparece continuamente o girador de "carregamento", fazendo a página parecer que não terminou de carregar. Existe uma maneira de suprimir isso?
Disseram -me que a equipe orbitada tem hacks para suprimir isso, mas, olhando através do código Orbited.js, não consigo descobrir o que são. Qualquer ajuda seria muito apreciada.
Solução
Esta é uma solução simples .. tudo o que você precisa fazer é iniciar sua solicitação de votação com um settimeout ..
Aqui está algum código que eu uso .. ele usa jQuery, mas presumo que você possa descobrir o que precisa e usar sua biblioteca para fazer o mesmo.
<script type="text/javascript">
function poll(){
$.getJSON('/updates', function(json){
//reconnect since we successfully received data and disconnected
poll();
//add something here to do whatever with the recieved data
});
}
/*call the poll function after document has loaded with setTimeout
if called before the document finishes loading completely it will
cause a constant loading indication*/
setTimeout(poll, 1);
</script>
Outras dicas
Não tenho resposta, mas tenho uma alternativa sugerida. Alguém acabou de fazer uma pergunta semelhante e Aqui está minha resposta.
Basicamente, se você tiver controle do servidor, a solução mais simples é usar cabeçalhos de compartilhamento de recursos de origem cruzada para o OK Domain XmlHttPrequest e voltar ao JSONP em navegadores antigos.
Eu forneci uma tabela de compatibilidade razoavelmente completa (todo navegador com capacidade para usuários) para CORS como parte da resposta à qual vinculei, bem como um mais geral na Wikipedia.