Cache-Probleme beim Laden einer Seite von Flash aus

greggy80

Mitglied
Hallo,

mir ist heute etwas aufgefallen. Ich habe ein Menü in Flash entwickelt, das mittels getURL() auf eine php-Datei verweist, die einen GET-Parameter bekommt, mit dem sie dann einen bestimmten Inhalt an den Browser zurückgibt.
Das lustige ist: Eigentlich können php-Dateien vom Browser nicht gecached werden, weil die Inhalte immer dynamisch geladen werden. D.h. die Dateien sind zwar gecached auf dem Clienten, werden aber bei jedem Aufruf der php-Datei immer aktualisiert! NICHT, wenn der Link mittels getURL von Flash aufgerufen wird. Das dies extreme Nachteile mit sich bringt, ist wohl mehr als offensichtlich: meine News-Seite zeigt alte Einträge an. Gibt es da eine Gegenoffensive? Wenn ich meine Seiten über einen normalen HTML-Link aufrufe, wird immer aktualisiert.
Ich möchte den Benutzer meiner Seite nicht extra sagen: "Bitte drücken Sie auf jeder Seite aktualisieren, die Inhalte könnten dank Flash verjährt sein...."

Grüße, David
 
Hi,

ja, indem Du z.B. einen Timestamp an die URL anhängst.

Such mal im Forum nach "Cache" - sollten einige Beispiele dabei sein. ;)

Gruß
.
 
Perfekt, geht wunderbar!

Wer hier gelandet ist: "cache timestamp" in der Suche eingeben, da findet man auch eine Lösung auf Quellcode-Ebene!
 
ich suche seid morgens 9 uhr ich finde nicht wie ich das auf die reihe bekommen soll****?
hab das selbe problem wie greggy 80 kann mir mal einer sagen wie genau ich vorgehn muss?

wo ich den code einfügen muss geschweigedem was für einer kein plan raff garnix mehr....
 
Sag mal, könntest es du vielleicht vermeiden, deine Beiträge in anderen Threads zu pushen? Danke...

Wer hier gelandet ist: "cache timestamp" in der Suche eingeben, da findet man auch eine Lösung auf Quellcode-Ebene!
Sagt eigentlich schon alles. Aber hier nochmals mundgerecht:

Anstatt
Code:
var urlLoader: URLLoader = new URLLoader();
urlLoader.load (new URLRequest ("eineurl.php"));

machst du

Code:
var urlLoader: URLLoader = new URLLoader();
urlLoader.load (new URLRequest ("eineurl.php?timestamp="+getTimer().toString()));

Damit erzwingst du einen Reload der Resource.
 
sorry duke
hatte noch nicht so viel mit Flash
aber ich weis immer noch nicht wohin oder wo das steht bessergesagt nix gefunden ? hab ne php hp und ein banner drinne aus flash mit Buttons die über get URL auf die php seite verweist ...
nun muss ich das jetzt in der FLA datei oder die dazugehörige html ändern oder auf die verweisende php seite ?
was flash angeht arbeite ich mit swish max
 
Hallo,

du benutzt ActionScript 2, deshalb zieht mein Beispiel von oben natürlich nicht. Das solltest du jeweils angeben, wenn du keine Codeschnipsel postest.

Das Prinzip ist, dass durch das Anhängen eines an und für sich irrelevanten GET-Parameters du die PHP-Seite dazu zwingst, die aktuellsten Daten zu laden. Konkret sieht das dann wie folgt aus:
Code:
on (release) {
    var timestamp = getTimer().toString();
    getURL("http://www.adresse.de/datei.php?timestamp="+timestamp);
}

Gruss
 
Zurück