View previous topic :: View next topic |
Author |
Message |
Vj3k0
Joined: 12 Jul 2007 Posts: 185 Location: Zagreb
|
Posted: 26.08.2008 09:48 Post subject: Trikovi za rješavanje browser refresha |
|
|
Refresh flash-a
Problem:
Browser ne želi ponovo učitati flash, već ga vuče iz cache-a.
Rješenje:
Pomoću malenog js file-a SWFObject, moguće je natjerati browser da refresha flash. Jedino što je potrebno je u vaš html file dodati swfobject.js i pozvati funkciju iz tog file-a kako bi se embedao vaš swf. Također swfobject.js čini i više od toga. On može detektirati verziju flasha koju korisnik ima, te možete napraviti i alternativni sadržaj ukoliko korisnik ne može vidjeti flash. Sve u svemu stvar koja će kad tad zamjeniti Adobe Flash Player Detection Kit.
Više o SWFObject
Refresh se može i postići dodavanjem na url flash fila-a kao što je ghosap napisao:
Code: | flash.swf?nocache=<?php echo time(); ?> |
Refresh podataka:
Problem:
Kada se koristi flash file koji treba pokupiti svježe podatke od PHP-a (XML-a, itd.) događa se problem cacheiranja. IE je pohranio vrijednosti koje PHP prvi puta echo-a i nije ponovo pokretao file da pogleda da li su vrijednosti promjenjene.
Rješnje:
Na URL php filea treba dodati npr:
Code: | url += "?randomVariable=" + Math.random(); |
Time se omogućava da se svaki puta poziva isti file, ali s različitim dodatkom i time se prisiljava IE da ponovo pokrene PHP file. Ovaj dodatak ništa ne znači, samo mijenja url.
Jednako dobro rješenje ghosap-a:
Code: | dateObj= new Date();
url += "?noCache=" + dateObj.getTime (); |
Evo ako nekom treba...
(vjerojatno većina zna)
Last edited by Vj3k0 on 27.08.2008 18:54; edited 4 times in total |
|
|
Back to top |
|
|
maratz mi3.crew
Joined: 24 Nov 2003 Posts: 1207 Location: ZAG
|
|
Back to top |
|
|
:cosmos:
Joined: 12 Sep 2003 Posts: 2098 Location: México
|
Posted: 26.08.2008 15:09 Post subject: |
|
|
ovo se ne desava samo sa ie, i firefoxa isto moram bicevat sa clear cache da bi pokpio koji put, tako da je jedno od rjesenja ako povlacimo xml preko htmla tamo dodati programski vrijeme ili cak sto ti kazes neki nasumicni broj.
ali definitivno rjesenje koje spasava vecinu preostalih zivaca |
|
|
Back to top |
|
|
ghosap
Joined: 18 Sep 2003 Posts: 79
|
Posted: 26.08.2008 17:06 Post subject: |
|
|
math.random nije najbolje rješenje, jer rizik ponavljanja brojeva opet poziva iz cache-a, Date.getTime je bolje, jer si siguran da ne nece ponovit poziv sa istom vrijednoscu, isti trik se koristi i kod ajax-a za izbjegavanje učitavanja cachiranog sadržaja ...
Poz.
EDIT:
Primjer
Code: | dateObj= new Date();
url += "?noCache=" + dateObj.getTime (); |
|
_________________ . . . and when the balance is lost all that is left is the reckening . . . |
|
Back to top |
|
|
Vj3k0
Joined: 12 Jul 2007 Posts: 185 Location: Zagreb
|
Posted: 27.08.2008 10:24 Post subject: |
|
|
ghosap wrote: | math.random nije najbolje rješenje, jer rizik ponavljanja brojeva opet poziva iz cache-a, Date.getTime je bolje, jer si siguran da ne nece ponovit poziv sa istom vrijednoscu, isti trik se koristi i kod ajax-a za izbjegavanje učitavanja cachiranog sadržaja ...
Poz.
EDIT:
Primjer
Code: | dateObj= new Date();
url += "?noCache=" + dateObj.getTime (); |
|
Slažem se s tobom.
Al koja je šansa da ti se dva puta ponovi kombinacija od 9 decimala?
BTW. dodano još jedno rješenje cacheiranja samog flasha, ne podataka.
Pozdrav,
Vjeko |
|
|
Back to top |
|
|
ghosap
Joined: 18 Sep 2003 Posts: 79
|
Posted: 27.08.2008 14:41 Post subject: |
|
|
ok, al šansa postoji ...
za refresh flasha postoji isto rješenje na url flash file-a dodati :
Code: |
flash.swf?nocache=<?php echo time(); ?>
|
|
_________________ . . . and when the balance is lost all that is left is the reckening . . . |
|
Back to top |
|
|
Vj3k0
Joined: 12 Jul 2007 Posts: 185 Location: Zagreb
|
Posted: 27.08.2008 18:55 Post subject: |
|
|
ghosap wrote: | ok, al šansa postoji ...
za refresh flasha postoji isto rješenje na url flash file-a dodati :
Code: |
flash.swf?nocache=<?php echo time(); ?>
|
|
Hvala za ovo.
Uvrstio sam u post gore.
Pozdrav,
Vjeko |
|
|
Back to top |
|
|
|