Ankündigung

Einklappen
Keine Ankündigung bisher.

Skurriles Javascript Caching-Problem (??)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Skurriles Javascript Caching-Problem (??)

    Hallo,

    ich habe folgendes, für mich absolut unverständliches, Problem:

    Ich rufe über einen Javascript-Tag per document.write eine neue Javascript-Datei auf. Innerhalb dieses document.write Befehls übergebe ich zudem eine Zufalls-ID, um Caching zu verhinden.

    Code:
    <script type="text/javascript">
    	document.write('<sc'+'ript type="text/javascript" src="http://test.de/js.php?nocache='+new String(Math.random()).substring(5, 15)+'"><\/sc'+'ript>');
    </script>
    Die Aufgerufene Javascript-Datei gibt einen document.write-Befehl zurück, welcher ein Iframe in die Seite schreibt, wobei sich die URL, die in dem Iframe jedes mal verändert.

    Code:
    document.write('<iframe src="http://test.de/iframe.php?id=XXX&nocache='+new String(Math.random()).substring(5, 15)+'"></iframe>');
    Lade ich nun die Datei zwei mal schnell hintereinander neu (kurz nachdem sie fertig geladen wurde), wird mir auch beim zweiten Aufruf die gleiche URL im Iframe angezeigt, wie das beim ersten Mal der Fall war. Manchmal tritt dieses Problem auch auf, wenn eine größere Zeitspanne (mehrere Sekunden) zwischen den beiden Aufrufen liegt.

    Ich habe das ganze dann per Firebug näher analysiert und herausgefunden, dass da irgend etwas höchst komisch ist.

    Beim ersten Aufruf wird mir Iframe-URL 1 zurückgegeben und diese wird auch aufgerufen und deren Ausgabe wird angezeigt.

    Beim zweiten Aufruf jedoch wird mir Iframe-URL 2 zurückgegeben, allerdings wird Iframe-URL 1 als HTTP Request aufgerufen und auch angezeigt.

    Schaue ich mir nun den "generierten Quelltext" (Webdeveloper Toolbar) an, sehe ich, dass dort das Iframe reingeschrieben wurde, allerdings mit Iframe-URL 2.

    Warum wird mir nun beim zweiten Laden der Seite die Iframe-URL 1 geladen und angezeigt, obwohl Iframe-URL 2 zurückgegeben wurde und auch im Quelltext steht?? Bzw. viel wichtiger ist eigentlich, wie ich das Problem lösen kann?

    Caching vermeide ich durch:

    Pragma: no-cache
    Cache-Control: no-store, no-cache, must-revalidate, max-age=0, s-maxage=0, post-check=0, pre-check=0
    Last-Modified: - aktuelles Datum -
    Expires: Sat, 1 Jan 2000 00:00:00 GMT

    Zudem wird, wie bereits beschrieben, jedes mal eine Zufalls-ID an den Aufruf der JS-Datei angehängt, um Caching zu vermeiden.

    Vielen Dank für die Hilfe!

  • #2
    Kann mir Niemand helfen...? :/

    Kommentar

    Lädt...
    X