Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-01-2007, 18:34   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 111
Question IE lädt Bilder immer aus dem Cache

Hallo alle zusammen!

Ich habe folgendes Problem. Ich habe eine Slideshow erstellt in die aus einem Verzeichnis 10 Fotos geladen werden. Wenn es neue Fotos in diesem Verzeichnis gibt sollen diese geladen werden und nicht aus dem Cache.
Um das zu garantieren stelle ich mittels php das Erstellungsdatum des ersten Fotos fest und hänge es beim laden an die 10 Dateinamen an.

Im firefox funktioniert das sogar so gut, dass die Bilder während die Animation läuft gewechselt werden, wenn ich neue Bilder auf in das entsprechende Server-Verzeichnis schiebe. Dafür muss ich nicht einmal einen Reload machen.

Im Internet Explorer kann ich das Laden der neuen Fotos nur durch ein Leeren des Caches erreichen.

Im ersten Frame meiner Animation steht folgendes:

Code:
lv = new LoadVars();
lv.load("zeit.php");
lv.onLoad = function()
{
_root.topshot01.loadMovie("topshots/topshot01.jpg?"+this.nocache);
}
Die zeit.php sieht folgendermaßen aus:

PHP-Code:
<?php

$filename 
'topshots/topshot01.jpg'
echo 
"&nocache=".filemtime($filename)."&";
?>
Ich habe auch schon versucht Flash zu zwingen die zeit.php auszuführen, indem ich eine Zufallszahl an den Dateinamen gehängt habe.

Code:
lv = new LoadVars();
lv.load("zeit.php?"+Math.random());
lv.onLoad = function()
{
_root.topshot01.loadMovie("topshots/topshot01.jpg?"+this.nocache);
}
Leider läßt das den IE völlig kalt und er reagiert auch nicht auf einen Reload.

Hat jemand eine Idee wie man das lösen könnte und woran das eigentlich liegt? Wäre toll wenn jemand den Fehler finden würde.
__________________
pixmax was here!
pixmax.com
pixmax ist offline   Mit Zitat antworten
Alt 16-01-2007, 20:10   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Das hat mit den Cacheeinstellungen des Browsers zu tun, nicht mit dem IE an sich. Je nach diesen Einstellungen könnte es auch andersrum sein. Scheinbar funktioniert dein this.nocache nicht wirklich, konnt's auch nicht so ganz nachvollziehen und bei deinem letzten Versuch fehlt der Variablenname im Parameter nach der zeit.php.

Wie auch immer - schau mal hier rein
was bedeuted dieses fragezeichen ?
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (16-01-2007 um 20:12 Uhr)
rena ist offline   Mit Zitat antworten
Alt 16-01-2007, 23:31   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 111
Welche Browsereinstellungen meinst Du? Ich muss für diese Slideshow davon ausgehen, dass der Browser vergleicht was vom Server abgefragt wird und was er schon im Cache hat. Es ist egal ob das durch individuelle Einstellungen so ist oder Standard, wenn ich sicherstellen möchte, dass wenn die Bilder im Serververzeichnis neu sind, diese geladen werden.


Danke für den Hinweis zum Variablennamen. Ich war mir nicht ganz im klaren über die Syntax. Hab das jetzt so aus Deinem Link entnommen.

Code:
lv = new LoadVars();
lv.load("zeit.php?zufall="+Math.random());
lv.onLoad = function()
{
_root.topshot01.loadMovie("topshots/topshot01.jpg?"+this.nocache);
}
Das this.nochache funktioniert wirklich. Ich habe es ausgiebig getestet. Es ist auch zu sehen wenn Bilder vom Server kommen oder wenn sich Flash aus dem Cache bedient weil es immer noch die selben Fotos sind. Lege ich andere Fotos in das Serververzeichnis holt sich flash diese vom Server weil das Erstellungsdatum ein anderes ist. Das ist auch ein Indiz dafür, dass die zeit.php ausgeführt wird und funktioniert.

Nur im IE wird diese zeit.php eben nicht ausgeführt, was ich nicht verstehe, da doch solche php-Dateien serverseitig ausgeführt werden. Oder bin ich damit daneben. Wird zeit.php und damit die Variable nocache ebenfalls im Cache gespeichert?

Also das mit den Browsereinstellungen hilft mir jedenfalls nicht weiter und ich bin auch nicht davon überzeugt, dass es daran liegt.

Hat jemand vielleicht noch eine Idee?
__________________
pixmax was here!
pixmax.com
pixmax ist offline   Mit Zitat antworten
Alt 17-01-2007, 14:30   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 111
Ist es auch möglich anstelle des Dateinamens eine komplette und somit absolute Adresse einzugeben?

Code:
lv = new LoadVars();
lv.load("http://web12.p15156997.pureserver.info/zeit.php?zufall="+Math.random());
lv.onLoad = function()
{
_root.topshot01.loadMovie("topshots/topshot01.jpg?"+this.nocache);
}
__________________
pixmax was here!
pixmax.com
pixmax ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele