Frage

Ich mache lange Polling mit JSONP und firefox ständig öffnen die „Laden“ Spinner machen die Seite nach oben scheint, wie es nicht fertig geladen hat. Gibt es eine Möglichkeit, dies zu unterdrücken?

Man hat mir gesagt, dass das umkreiste Team Hacks zur Unterdrückung dieses hat, aber auf der Suche durch die Orbited.js Code kann ich nicht herausfinden, was sie sind. Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

Dies ist eine einfache Lösung ist .. Alles, was Sie tun müssen, ist Ihre Abfrageanforderung mit einem setTimeout starten ..

Hier einige Code, den ich verwenden .. Es nutzt jQuery, aber ich nehme an, Sie können herausfinden, was Sie brauchen, um und nutzen Sie Ihre Bibliothek, das gleiche zu tun.

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

Andere Tipps

Ich habe keine Antwort, aber ich habe eine vorgeschlagene Alternative. Jemand anderes fragte nur eine ähnliche Frage und hier ist meine Antwort .

Grundsätzlich, wenn Sie die Kontrolle über den Server haben, ist die einfachste Lösung ist Cross-Origin Resource Sharing-Header OK Cross-Domain-XMLHttpRequest zu verwenden und zu JSONP auf alte Browser fallen zurück.

Ich habe eine einigermaßen vollständige Kompatibilitätstabelle (alle userscript-fähigen Browser) für CORS als Teil der Antwort bereitgestellt I verbunden sind, sowie eine allgemeinere auf Wikipedia .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top