Domanda

che sto facendo a lungo polling con JSONP e Firefox schiocca continuamente il "Caricamento" filatrice rendendo la pagina sembrare che non ha terminato il caricamento. C'è un modo per sopprimere questo?

Mi è stato detto che la squadra ha orbitato hack per sopprimere questo, ma guardando attraverso il codice Orbited.js io non riesco a capire quello che sono. Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

Si tratta di una semplice correzione .. Tutto quello che dovete fare è avviare la richiesta di polling con un setTimeout ..

Ecco il codice che uso .. Esso utilizza jQuery, ma presumo si può capire ciò che è necessario e utilizzare la libreria di fare lo stesso.

<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>

Altri suggerimenti

Non ho una risposta, ma ho un'alternativa suggerita. Qualcun altro ha appena chiesto una domanda simile e ecco la mia risposta .

In sostanza, se si ha il controllo del server, la soluzione più semplice è quello di utilizzare le intestazioni Cross-Origin Resource Sharing a OK tra domini XMLHttpRequest e ricadere a JSONP su vecchi browser.

ho fornito una tabella di compatibilità ragionevolmente completo (tutti i browser userscript-grado) per CORS come parte della risposta ho collegato a, così come un più generale su Wikipedia .

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