Bilder werden trotz Änderung aus dem Cache geladen

  • Ich habe ein php Skript erstellt, das zwei Grafiken austauscht. Danach bekommt bild1.jpg den Dateinamen bild2.jpg und umgekehrt.

    Eigentlich sollte FF hier merken, dass sich die Dateigröße geändert hat und er das Bild nicht aus dem Cache laden darf.

    Im IE funkitioniert es ohne Probleme obwohl der natürlich auch einen Cache benutzt bei mir.

  • Das Problem kenne ich auch vom Programmieren mt PHP und HTML. Wenn du den Cache leerst und auf Aktualisieren drückst, müsste sich das erledigt haben. Fast alle Browser sehen zuerst im Cache nach - obwohl man das unter Einstellungen geändert hat. Ich habe die Erfahrung mit Opera gemacht. Der ist besonders hartnäckig. Erst nach kompletter Löschung des Caches lädt er die neuen Bilder und veränderten Quelltext.

    Ich wünsche mir eine Welt ohne Geld und Grenzen. Eine Welt, in der Parteien und Politiker keine 'Spenden' annehmen könnten. Land würde ich höchstens auf Lebenszeit verpachten. Eine freie und demokratische Welt also!

  • Zitat von Sven82

    Eigentlich sollte FF hier merken, dass sich die Dateigröße geändert hat und er das Bild nicht aus dem Cache laden darf.


    Ich kenne mich mit Internetprotokollen nicht wirklich aus, aber vermutlich hat nicht die Größe mit der Aktualisierung zu tun, sondern das Änderungsdatum. Wenn beim Tauschen der Timestamp der Dateien nicht erneuert wird, könnte ich mir vorstellen, das der Browser dem Server sagt: "GET. Ich habe hier Bild X von vor 10 Minuten im Cache. Hast du ein neueres?", und der Server sieht nach, und sagt "304. Du hast schon das aktuelle".

    HalloFreun.de, Kanotix, HanseNet(AliceDSL), (X11; U; Linux i686; de-AT; rv:1.8.1.12) Gecko/20080129 (Debian-2.0.0.12-0etch1)

  • Der Browser sieht lediglich auf den Dateinamen. Informationen aus dem Header der Bilddatei z.b. über die Größe des Bildes, die ja ohnehin nicht immer vorhanden sind, werden nicht ausgelesen. Lasst es euch gesagt sein. Ich programmiere schon eine Weile! Ihr werdet diesen Tip immer wieder bekommen! Das Problem ist bekannt. Ich hatte sogar schwierigkeiten mit der Darstellung ein und derselben Datei auf einer Webseite. Der Browser hat die Datei nicht mehr darstellen können. Nach Änderung des Dateinamens (zwei gleiche Dateien mit unterschiedlichen Namen)funktionierte das aber wieder. Einfach ein Fehler bei der Programmierung der Browser-Engine.

    Ich wünsche mir eine Welt ohne Geld und Grenzen. Eine Welt, in der Parteien und Politiker keine 'Spenden' annehmen könnten. Land würde ich höchstens auf Lebenszeit verpachten. Eine freie und demokratische Welt also!

  • habt ihr es mal mit aenderung der werte der variable probiert die ich da geschrieben habe?

    nochmal genau:

    0 = Once per session
    1 = Every time I view the page
    2 = Never
    3 = When the page is out of date (default)
    user_pref("browser.cache.check_doc_frequency" , 1);

    bitte testen und ergebnis sagen...

    bc

  • Wovon redest du da? Php wird auf dem Server ausgeführt. Da kannst du dem Browser nicht sagen, was er tun soll, sondern lediglich Htmlcode generieren und hochladen!

    Ich wünsche mir eine Welt ohne Geld und Grenzen. Eine Welt, in der Parteien und Politiker keine 'Spenden' annehmen könnten. Land würde ich höchstens auf Lebenszeit verpachten. Eine freie und demokratische Welt also!

  • Da braucht er doch nur nachsehen oder ggf. die Einstellungen ändern. Das bringt ohnehin nicht viel bei der Programmierung. Browser sind da einfach gestrickt. Hat er ein Bild mit Namen X im Cache, lädt er das, anstatt es neu vom Server zu holen. Nur eine Seitenaktualisierung erzwingt einen neuen Download. Nimm es nicht persönlich, wenn ich kritik an deinen Vorschlägen übe - du willst schließlich nur helfen - aber das mit den Browsern ist schon etwas 'tricky'. Die machen nicht immer, was sie machen sollen. Und speziell in diesem Fall - nämlich bei der Programmierung, ist ein ständiges Aktualisieren des Quellcodes sowie der Bilder von nöten. Und in der Hinsicht habe ich einfach diese praktische Erfahrung gemacht. Es gibt für dieses Problem nur diese Lösung! Aktualisieren!

    Ich wünsche mir eine Welt ohne Geld und Grenzen. Eine Welt, in der Parteien und Politiker keine 'Spenden' annehmen könnten. Land würde ich höchstens auf Lebenszeit verpachten. Eine freie und demokratische Welt also!