login  Naam:   Wachtwoord: 
Registreer je!
 Forum

anti cache (Opgelost)

Offline vinTage - 08/05/2007 11:09
Avatar van vinTageNieuw lid Hey, ik ben bezig voor een klant, maar loop tegen een zéér vervelend probleem aan...cache..

Ik moet een soort avatar systeem maken, dit systeem werkt eigenlijk al perfect in FireFox en in Netscape, maar Internet Explorer en Opera gooien roet in het eten, en Opera zelfs nog harder dan IE.

Het probleem:
Er bestaat een set met daarin een aantal avatars die je zelf kan "aankleden", één avatar is dus een naakt mannetje of vrouwtje en door een side panel kan je dit persoontje voorzien van verschillende kledingstukken, kapsels, items etc.
Dan klik je op "save" en de gekozen kledingstukken worden opgeslagen in de database.
Dit werkt allemaal perfect, máár als men dan zijn avatar wil bekijken (in een van de niet meewerkende browsers) dan zie je de avatar zoals je hem zag de allereerste keer...
Als je de avatar bekijkt in een nieuw window (in IE) dan is het wel goed, maar in Opera kan je 1000 keer refreshen en nieuwe vensers openen, maar je blijft altijd de oude avatar zien.

Ik heb in de swf een soort controle gemaakt die zoieso het figuurtje eerst uitkleed, en na de request naar de db word het mannetje pas aangekleed...maar dit word allemaal genegeerd door IE en Opera..

In de html file heb ik i.m.o. alle mogelijke foefjes uitgehaald die ik kon vinden om het cachen tegen te gaan, maar helaas.
eg:
  1. <?php
  2. header("Cache-Control: no-cache, must-revalidate");
  3. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  4. ?>

en
  1. <meta http-equiv="Pragma" content="no-cache">
  2. <meta http-equiv="Expires" content="-1">

Die pragma meuk heb ik ONDERAAN de pagina dan nog eens gezet (dat schijnt te moeten volgens deze site.

Helaas NIETS blijkt te helpen..iemand die whatever tip heeft want ik loop al met mn handen in het haar.

:p

5 antwoorden

Gesponsorde links
Offline Dark_Paul - 08/05/2007 11:12 (laatste wijziging 08/05/2007 11:12)
Avatar van Dark_Paul PHP ver gevorderde Ik had dit probleem ook bij mijn captcha, met Internet Explorer kreeg je maar geen nieuwe te zien na een submit/refresh.
Dit heb ik erin gezet en dat werkt.
  1. <?php
  2. header("Cache-Control: no-cache");
  3. Header("Cache: no-cache");
  4. Header("Pragma: no-cache");

Het zal vast dubbelop zijn, maar.. it does the job!
Offline vinTage - 08/05/2007 11:27
Avatar van vinTage Nieuw lid Helaas, zelfs dubbelop werkt het niet.

sidenote, volgens mn DW highlight moet het header zijn (kleine letter h) maargoed, het hielp niet 
Offline ikkedikke - 08/05/2007 12:12
Avatar van ikkedikke PHP expert geef het plaatje een random parameter mee, dat scheelt je al dat gedoe met headers.
Offline Thomas - 08/05/2007 12:18
Avatar van Thomas Moderator Geef het plaatje een random bookmark (blaat.jpg#502982kj52). Dit is valid (in zekere zin) en makkelijker dan al die caching-blaat.
Offline vinTage - 08/05/2007 12:45 (laatste wijziging 08/05/2007 14:49)
Avatar van vinTage Nieuw lid Ah vergeten te vertellen (my bad), maar ik embed de swf al zoals jullie hierboven vermelden .

  1. <div id="avatar4" style="width:500px; height:320px;">Hier een link naar flashplugin</div>
  2. <script type="text/javascript">
  3. var fo = new FlashObject("vrouw1edit.swf?id=1&nocache=<?=rand(0, 999999)?>", "avatar", "500", "320", "8", "#ffffff");
  4. fo.addParam("allowScriptAccess", "same domain");
  5. fo.addParam("quality", "high");
  6. fo.addParam("scale", "noscale");
  7. fo.addParam("loop", "false");
  8. fo.write("avatar4");
  9. </script>


id is het userid (wat de scripter inbakt)


edit:
YESSSS, got it !
Ik save die gegevens naar de database en had in een eerdere versie daar wel een random string aan meegegeven, op e.o.a. manier heb ik die verwijderd (dont ask me why) en tijdens het uitlezen weer hetzelfde...
In mn swf heb ik nu weer een random php aangesproken en het werkt nu perfectamundo, jep die headers zijn ook allemaal weg.

thx all!


solution:
  1. <? klurke
  2.  
  3. weg.sendAndLoad("kleedAan.php?id="+id+"&nocache="+Math.ceil(Math.random()*999999), terug, "POST");
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.698s