Dieter Provoost

getrouwde man van Anne, papa van Elisah, webontwikkelaar.

Browser caching vermijden

Posted on | oktober 15, 2007 | 7 Comments

Voor wie Flash op een nuttige manier wilt gebruiken en integreren in zijn XHTML-site bestaan er uiterst nuttige Javascript-oplossingen als UFO en SWFObject. Nu is het zo dat zo’n flash-object, net als andere externe objecten zoals afbeeldingen en dergelijke door de webbrowser worden gecached.

In het geval van een geheim project waar ik aan bezig ben is het zo dat het Flash-object dynamische data krijgt doorgespeeld via een (jawel, dynamische) XML-file en dat het dus weinig interessant was dat het Flash-object werd gecached. (De dynamische XML-file werd dus niet opnieuw ingelezen)

De oplossing:

Als je werkt met objecten binnen je webpagina waarvan je niet wilt dat deze gecached worden (doordat deze bijvoorbeeld door dynamische data moeten worden opgebouwd) dan zorg je ervoor dat de URL van dat object bij iedere aanroep uniek is. Bij het inladen van het desbetreffende Flash-object kan je dit in Javascript als volgt doen:

var today = new Date();
/pad/nr/object/object.swf?nocache=” + (today.getTime())

Door gebruik te maken van een extra parameter (?…) zorg je ervoor dat iedere keer de swf-file moet worden geladen deze een andere URL heeft en dus niet door je favoriete browser wordt gecached. Probeer maar, het helpt!

Comments

7 Responses to “Browser caching vermijden”

  1. gammet
    oktober 16th, 2007 @ 6:59

    Heb gisteren gemerkt dat ze bij tweakers.net een soortgelijke procedure toepassen. Zij hebben gewoon een nieuw domain aangemaakt, waaronder ze hun afbeeldingen en dergelijke plaatsen.

    Anyhoo, dank u vr deze nuttige informatie!

  2. Gerrit
    oktober 16th, 2007 @ 7:49

    Je kan ook gewoon je Flash laten cachen, zodat ie niet meer ingeladen moet worden, en in je actionscript bij het inladen van je xml-file een nocache parameter toevoegen.
    Werkt evengoed, en moet je de swf niet telkens opnieuw inladen.

  3. Dieter
    oktober 16th, 2007 @ 8:08

    @Gerrit: dat klopt als een bus en is ook een meer performante oplossing. Thx! ;-)

  4. Erik Bauffman
    oktober 16th, 2007 @ 11:51

    Diezelfde oplossing telt ook voor images. Handig voor images die regelmatig veranderen, waarbij de bestandsnaam hetzelfde blijft!

  5. Jan
    oktober 16th, 2007 @ 12:35

    Zoals captcha’s ;-)

  6. Dieter
    oktober 16th, 2007 @ 8:38

    @Gerrit: Toch nog even vermelden dat de wanneer de “no-cache”-parameter aan de dynamische XML wordt gehangen Internet Explorer dat niet voldoende vindt en dus geen correcte resultaten genereert.
    Om alles goed te laten verlopen moet dus toch de SWF-file van de “no-cache”-parameter worden voorzien…

  7. Gerrit
    oktober 16th, 2007 @ 10:39

    @Dieter: Heb ik nog geen problemen mee gehad, toon me misschien op het werk es de je Flash-code ofzo.

Leave a Reply





About

getrouwde man van Anne, papa van Elisah, webontwikkelaar bij Marlon.

RSS feed

Search

Admin