Frage

Ich habe eine AS3 -Anwendung, die zur Laufzeit verschiedene SWFs lädt. Die Ladeanimation, die verwendet wird, hat eine ziemlich lange Ein- und Aussteigerung, die ich nicht anzeigen möchte, wenn sich das Ziel -SWF im Browser -Cache befindet.

Im Moment wird jeder SWF nach Bedarf mit Greensock geladen SWFLOADER auf grundlegende Weise:

var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader = new SWFLoader("mySWF.swf", {name:"sectionLoader",context:context,auditSize:true,onOpen:onLoadInit,onProgress:onLoadProgress, onComplete:onCompleteLoadHandler, onError:onLoadErrorHandler});
loader.load();

Mein Ziel ist es, etwas zu tun, bevor er anruft loader.load(); Um festzustellen, ob für die Lastvorrichtung die Anfrage verlangt, über den Browser -Cache hinauszugehen, aber bevor ich mich mit etwas um etwas ähnliches überlegt, würde ich ihn fragen, ob jemand bereits etwas Ähnliches getan hat.

Noch ein paar Gedanken, die ich bisher hatte:

  • Wenn Sie nur den Überblick über das, was in AS3 geladen wurde, verfolgt, ist dies nicht gut genug, denn wenn der Benutzer seinen Cache löscht, lädt er möglicherweise einen großen SWF auf einer langsamen Verbindung ohne Indikator.
  • Könnte eine Kombination von LaderItem.httpstatus und LaderItem.auditSize () Untersuchung wert sein?
  • Gibt es ein besseres Ladegerüst für AS3, das ich anstelle der Greensock -Klassen prüfen sollte?
  • Im Idealfall würde ich es vorziehen, auch eine Art von Versionserkennung zu spannen, die Monate voneinander entfernt sein könnten, aber einen Schritt nach dem anderen.
War es hilfreich?

Lösung

Wenn Sie eine HTTP -Anfrage durchführen, erstellt die Responce eine HTTPStatus -Immobilie. In As3 müssen Sie nur unterheuern, wenn

HttpStatusevent.status == 304

Und für httpStatus in Greensock Library.

Im Grunde genommen bedeutet 304 Code, dass auf der Serverseite der Ressource, die der Benutzer angefordert hat, keine Chigifikationen erfolgt. Dies führt schließlich zu der Schlussfolgerung, dass sich die Ressource im Cache befindet.

AKTUALISIEREN

Wenn dies nicht zu Ihren Anforderungen passt, versuchen Sie, eine Variable zu speichern, für die Sie die Animation oder nicht in Cookies oder in Sitzungsvariablen abspielen.

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