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.

¿Fue útil?

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 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top