20. marts 2007 - 10:17
Der er
21 kommentarer og 2 løsninger
Load iframe!
Hey... Jeg har en dynamsik side hvor jeg har en iframe som indeholder php sider som hele tiden ændre sig. Hvordan for jeg iframen til at loade en ny side istedet for at læse fra cachen ! På nuværende tidspunkt har jeg dette script function vis_iframe(link){ document.getElementById("cont").src = link; setTimeout("window.cont.location.reload(true)", "1000"); }; Men dette er ikke godt hvis man f.eks. tilføjer et kommentar på en tagwall eller lign, så bliver denne jo tilføjet 2 gange ! Så hvordan twinger man iframen til at indlæse siden og ikke tag fra cachen !
Annonceindlæg fra Kingston Technology
20. marts 2007 - 10:27
#1
Kan du ikke bruge Meta refresh og så loade alle dine sider ind i et array og lave en random på array[i].
20. marts 2007 - 10:39
#2
Kan du forklarer det lidt mere uddybende?
20. marts 2007 - 10:52
#3
Hmm, nu jeg tænker over det, så kan du ikke gøre det sådan. Sorry.
20. marts 2007 - 10:56
#4
Hvad laver du dine sider i? PHP, HTML eller ASP?
20. marts 2007 - 11:01
#5
PHP og selvfølgelig HTML Mit problem er som sagt at jeg udføre nogle php funktioner inde i iframen, og med min måde at ændre indholdet i iframen nu så kan der opstår situationer hvor en php funktion bliver kørt 2 gange. Hvis jeg ikke bruger denne funktion kan de ske at funktionen slet ikke bliver kørt fordi iframen tager fra cachen !
20. marts 2007 - 11:36
#6
Det er egentligt simpelt..: tilføj en vilkårlig værdi til urlen.. Dvs: Det opfatter disse som forskellige urls: side.php?12334343 side.php?45435343 side.php?87674543 Derfor: opret en random værdi hver gang siden loades.. erstat det efter "?..." med den nye værdi..
20. marts 2007 - 11:38
#7
Hvis thesurfers virker, så brug det. ;o)
20. marts 2007 - 11:52
#8
Okay.. Det er jo interessant :D Det vil jeg lige efterprøve. For det andet er lidt bøvlet og laver alt for meget traffik også..!
20. marts 2007 - 13:10
#9
Det er også muligt du kan undgå cache ved at sætte en 'no-cache' header fra din php side... header("Cache-Control: no-cache, must-revalidate"); Ikke testet, men burde vel virke :) Mvh. Johan
20. marts 2007 - 13:27
#10
nice... Og det skal stå i toppen af php dokumentet ik!.. Før session_start osv.. ?!
20. marts 2007 - 13:36
#11
Johan.o > Dit ser ud til at virke lige præcis sådan som det skal. Thesurfer > Dit virker også i min test, men kræver en del mere arbejde og disiplin end johan.o. Men hvis i begge lægger et svar så skal i få nogle point :-D Dejligt at få løst det..
20. marts 2007 - 13:38
#12
For at gå med limrem og seler så lavede jeg følgende header som skulle eliminere alle cache funktion --> header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
20. marts 2007 - 13:39
#13
Gad vide om browseren fatter at den ikke skal cache :)...fint det virker.
20. marts 2007 - 20:51
#14
Jeg springer over.. PHP-metoden (serversiden) er klart at foretrække, da alt klientside kan manipuleres.
20. marts 2007 - 21:15
#15
Problemet er desværre, at browserne opfører sig autonomt engang imellem, så den eneste sikre metode er, at der altid fyres en ny url afsted, bruge _altid_ new Date().getTime() medmindre der er andre problemer !-)
20. marts 2007 - 21:28
#16
Ok, så kan jeg vist godt smide et svar alligevel.. Man kan altså bruge "new Date().getTime()" i stedet for et random-tal, i urlen..
20. marts 2007 - 21:51
#17
new Date().getTime() er lige i den sammenhæng nærmest genialt !-)
20. marts 2007 - 21:56
#18
Ja, den vil jo aldrig give samme output flere gange :-)
21. marts 2007 - 08:41
#19
roenving, mange tak for det ekstra input, det er jo kun noget man opdager ved at have testet det mange gange. Så tror jeg bruger begge muligheder. Så må jeg jo være hel graderet !
21. marts 2007 - 13:09
#20
Spørgsmålet er ikke afsluttet endnu.. Har du brug for kodeeksempler?
21. marts 2007 - 13:45
#21
Neje... Vente på svar fra Roenving..!.. :D Men det fremgår vist heller ikke så klart af min sidste besked..
21. marts 2007 - 14:20
#22
Nej tak, ellers tak !-)
Vi tilbyder markedets bedste kurser inden for webudvikling