JSONP Polling lungo sempre carica
-
23-09-2019 - |
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.
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 .