JSONP sondeo largo siempre carga
-
23-09-2019 - |
Pregunta
Me estoy haciendo a largo sondeo con JSONP y Firefox hace estallar continuamente la ruleta "Carga" haciendo que la página parezca que no tiene terminado de cargar. ¿Hay una manera de suprimir esto?
Me han dicho que el equipo estuvo en órbita tiene hacks para suprimir esto, pero mirando a través del código Orbited.js No puedo entender lo que son. Cualquier ayuda sería muy apreciada.
Solución
Esta es una solución simple .. Todo lo que tiene que hacer es iniciar su solicitud de sondeo con un setTimeout ..
Aquí hay un código que utilizo .. Se utiliza jQuery, pero supongo que usted puede averiguar lo que necesita y el uso de la biblioteca para hacer lo mismo.
<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>
Otros consejos
No tengo una respuesta, pero tengo una alternativa sugerida. Otra persona simplemente hizo una pregunta similar y aquí está mi respuesta .
Básicamente, si usted tiene el control del servidor, la solución más sencilla es utilizar los encabezados de origen cruzado de intercambio de recursos a OK XMLHttpRequest entre dominios y caer de nuevo a JSONP en los navegadores antiguos.
He proporcionado una tabla de compatibilidad razonablemente completo (todos los navegadores con capacidad userscript) para CORS como parte de la respuesta he vinculado, así como una más general en Wikipedia .