26. juli 2007 - 09:22Der er
18 kommentarer og 1 løsning
Bloker browser cache
folk klager over at de på denne side ikke kan klikke på mere end 1 collection. Dvs når de har set 1 collection - klikker Back og klikker på en ny collection så får de ikke vist de rigtige billeder
ja. jeg har smidt følgende i head både oppe og nede: <% Response.CacheControl = "no-cache" %> <% Response.AddHeader "Pragma", "no-cache" %> <% Response.Expires = -1 %>
på specifik siden kalder en flash film som henter et xml dokument, det virker som om at det er genereringen af dette dokument der kniber.
min specifik side start sådan: <body> <iframe src="make_xml.asp?IDcollection=<%=rsSpecific("IDcollection")%>" height="0" width="0" frameborder="0"></iframe> ...
<!--#include file="Connections/database.asp"--> <% Function write_to_file(filnavn, txt, write_mode) If write_mode = "overwrite" Then write_mode = 2 Else write_mode = 8 End if set fs = createobject("scripting.filesystemobject") If Not fs.fileExists(filnavn) Then fs.CreateTextFile filnavn, True End if Set fil = fs.OpenTextFile(filnavn, write_mode) fil.Write txt fil.close set fil = nothing set fs = nothing End function
Function cleanData(tmpTxt) If Len(tmpTxt) > 0 Then tmpTxt = fjernhtml(tmpTxt, "(<[^><]*>)", " ") tmpTxt = Replace(tmpTxt,"&","&") tmpTxt = Replace(tmpTxt,"æ","æ") tmpTxt = Replace(tmpTxt,"Æ","Æ") tmpTxt = Replace(tmpTxt,"ø","ø") tmpTxt = Replace(tmpTxt,"Ø","Ø") tmpTxt = Replace(tmpTxt,"å","å") tmpTxt = Replace(tmpTxt,"Å","Å") End if cleanData = tmpTxt End Function
Function fjernhtml(tekst,patrn, replStr) Set regEx = New RegExp regEx.Pattern = patrn regEx.global = true regEx.IgnoreCase = True fjernhtml = regEx.Replace(tekst, replStr) End Function
'hent collection info sql = "SELECT * FROM collection WHERE IDcollection = " & Request.QueryString("IDcollection") Set rs = conn.execute(sql)
collectionTitle = rs("Title") collectionText = rs("Text") ud = ud & vbtab & "<name>" & cleanData(collectionTitle) & "</name>" & vbcrlf ud = ud & vbtab & "<text_slideshow>Loading XML...</text_slideshow>" & vbcrlf ud = ud & "</settings>" & vbcrlf & vbcrlf
'hent emner sql = "SELECT * FROM collection_image WHERE collectionID = " & Request.QueryString("IDcollection") & " ORDER BY IDcollectionimage DESC" Set rs = conn.execute(sql)
ja jeg overskriver den hver gang. så er der ikke mere at holde styr på. jeg vil gerne generere ovenstående xml hver gang brugeren kalder siden men det er som om det ikke sker med mindre browser history i IE er sat til at hente siden hver gang og ikke cache den
"Du overskriver den samme fil hver gang ??? " - jamen, er der ikke flere brugere, der kan være i gang på samme tid? Så kan det jo ske man ikke får den man klikkede på, hvis en anden bruger også er i gang.... Det holder vel ikke i længden.
Ja, IE kan være en PITA med den indstilling der cacher altid. Prøv Oles først.
Jeg kan nu ikke se de 3 "ikke-cache" linier i din make_xml.asp
i det øjeblik xml er genereret trækkes det ind i flash og bruges derefter ikke. derfor tror jeg ikke (håber ikke :) jeg kommer ud i det problem du beskriver Erik
har prøvet med de 3 linier i min make_xml.asp men det virkede ikke så nu er de væk igen
Så er det nok ikke et cache-problem. Måske det alligevel er den der fil... Og selv om du be'r og trygler din server om ikke at komme i en fler-bruger-konflikt, så kommer du det selvfølgelig på et tidspunkt. Det er en eklatant dårlig løsning.
Det kan jeg ikke gennemskue ud fra hvad du skriver. Måske 1) Lave en .xml fil pr IDCollection 2) Lave xml-koden direkte i kaldet fra Flash, som skal have parameteren med 3) ...noget helt fjerde...
jeg endte med at generere en seperat XML fil for hver collection når brugeren opretter den. så ændrede jeg flash filen så den trækker et ID med ind når den skal finde den tilsvarende XML fil. det spiller nu :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.