Aktualisierung von Inhalten...

Leugim

Erfahrenes Mitglied
Hallo,
Ich bin neulig auf ein Problem gestossen, mit dem ich zuvor nicht in Kontakt gekommen bin...
Ich habe da einen Kunden, der verlangt von mir immer meinen Fortschritt via Web überprüfen zu können.
Nun kriege ich häufiger Beschwerden von ihm, ich würde angeblich nichts machen. Witz der ganzen Sache, ist, ich HABE alles gemacht und auf den Webspace upgeloaded, nur wird nicht immer das aktuellste vom Browser angezeigt... Ich habe schon bemerkt, dass das mit dem Cache des Browsers zusammenhängt und habe ihn daraufhin angewiesen seinen Cache zu leeren.. Allerdings scheint mir das nicht der richtige und schon garnicht bequemste Weg zu sein

Jetzt bin ich auch ins Schwimmen gekommen... Woher weiss ich denn, dass die Besucher auch wirklich gerade die aktuellste Version sehen können?
Ich habe bisher immer einfach nur die Dateien upgeloaded und damit hatte es sich dann schon...

Wie löst ihr denn das Problem? Bzw ist das überhaupt eins? Liegt das vielleicht auch damit zusammen, dass der webspace vorerst nur Free-webspace ist?

Vielen Dank im vorraus
 
Hi,

Na ja, zum einen gibt es da:
HTML:
<meta http-equiv="expires" content="0">
... und zum anderen könntest Du an alles, was Du z.B. per loadMovie lädst, einen Timestamp (oder sonst eine möglichst eindeutige Zahl) anhängen:
PHP:
var fname = "impressum.swf";
fname += "?ts=" + getTimer().toString();
container.loadMovie(fname);
, um Flash zu veranlassen, die Datei neu vom Server anzufordern.

Gruß
.
 
Ok... verstehe ich.
Nur zwei Fragen hätte ich dann doch..
Heisst die Datei auf dem Server einfach nur
"impressum.swf" ?, was geschieht denn mit dem Timestamp der da noch hinzugefügt wird?

Theoretisch könnte ich da also auch eine Zahl immer um eins wachsen lassen?
 
Hi,

ja, die Datei behält ihren Namen. Der "Anhang" wird einfach ignoriert (oder kann, wenn Du z.B. ein PHP-Script ansteuerst, ausgelesen und verwendet werden). Das Fenster, in dem ich grade antworte heisst z.B. http://www.tutorials.de/newreply.php?do=newreply&noquote=1&p=976464; geöffnet wird dennoch nur die "newreply.php", die allerdings über $_GET["do"], $_GET["noquote"] Zugriff auf die angehängten Variablen hat. Relevant ist lediglich, dass bei neuen URL-Variablen auch eine neue Anfrage an den Server geschickt wird.

Fortlaufende Zahlen würde ich nicht unbedingt verwenden, da diese Folge ja bei jedem Start der Datei zurpückgesetzt wird... mit dem Date-Objekt oder getTimer() bist Du jedenfalls auf der sicheren Seite.

Gruß
.
 
Vielen Dank für die ausführliche Auskunft... Das wird mir von nun an jede Menge Ärger ersparen :)
Das mit der Fortlaufenden variable stimmt wohl... ausser man speichert die in einer txt ab... Dann könnte man die Anzahl an Updates verfolgen...
alles Klar.
Tausend Dank
 
...das funktioniert aber im übrigen nur mit dem Cache des Client Rechners, solltest du jemals in die Problematik gelangen für einen sehr abglegenen Ort zu publizieren, musst du tiefer in die Trickkiste greifen. Es gibt nämlich Orte, im speziellen Inseln, die mit ihrer gesamten Internet Architektur hinter einem grossen Cache hängen, der angeforferte Dateien zwischenspeichert. Das kannst du mit einem Trace Programm ganz einfach feststellen. Wenn das der Fall ist, dann hilft nur eine wirklich fortlaufende Benennung der Dateien, also content123.swf wird nach Aktualisierung zu content124.swf, und du lädst keine festgelegten Dateien per loadMovie, sondern sendest einen Request an ein PHP Script, welches den Ordnerinhalt ausliest, und dir den aktuellen Namen zurückgibt, den du dann laden kannst. Dann klappt das auch mit Fuerteventura.

B
 
Hallo Datic!

Dein Script ist super. Funktioniert - wie nicht anders zu erwarten - tadellos.

Meine Filme werden immer neu vom Server angefordert - folgedessen bekommen User nie alte Filme aus dem Cache zu Gesicht. Da ich laufend etwas ändere, ist das wirklich toll!

Einziges Manko ist, dass es speziell bei größeren Filmen nervenaufreibend ist, wenn sie ständig neu geladen werden müssen, selbst wenn die Website mehrmals pro Tag besucht wird.

Könnte man den Timer nicht gegen das Tagesdatum tauschen?

Wie würde dazu die richtige Script-Schreibweise lauten?

Danke und liebe Grüße

Helmut
 
PHP:
var d = new Date();
var datestamp = d.getYear() + d.getMonth() + d.getDay();
(aus dem Kopf, daher keine Garantie für richtige Syntax der Methoden das Date-Objektes - F1 hilft weiter)

Eine vielleicht sinnvollere Methode wäre, immer die selbe SWF-Datei zu verwenden und sich ändernde Inhalte von dort aus in Form von Daten (XML, txt) und Bildern (jpg) zu laden.

Gruß
.
 
Ich habe nur sehr kleine Textboxen, daher muß ich den Text dort wirklich genau einpassen, bei Überlänge teils kürzen, viele Wörter abteilen, das würde bei der vorgeschlagenen Variante leider nicht so gut funktionieren. (Siehe dazu mein letztes Posting bezüglich Scroller Probleme...)

Da speziell die geladenen Text-swf-Filme nur ca. 10 - 13 kb haben, ist das nicht ganz so tragisch.

Da aber der Hauptfilm, gerade wenn er neu ist, häufig geändert wird, muß ich ein akzeptables Mittelmaß zwischen Akualität und Benutzerfreundlichkeit finden.

Mal sehen, ob ich als AS Newbie den Script hinbekomme.

Danke.

Helmut
 
Habe diesen Thread über die Suchefunktion gefunden.
Wollte mich nur mal schnell bei Datic bedanken, der Lösungsansatz mit dem Timestamp hat mir bei einem ähnlichen Problem geholfen, was mir seit Tagen Kopfzerbrechen bereitet hat. Vielen Dank! ;-)
 
Zurück