jokkakim Skrevet 1. april 2007 Del Skrevet 1. april 2007 (endret) Istede for å ha to stilark hvor kun noen linjer er forskjellig, så lagde jeg et hvor php printer ut riktig css avhengig av brukerens valg, som er lagret i en cookie. Dette funket bra i både IE og FF, men i opera så må jeg oppdatere siden for at den skal kunne lese css fila på nytt !? Er det slik at både IE og FF ber om css filen hver gang man "blar" inne på en side, mens opera lagrer den ? EDIT: glemte å spørre, er det noen som har forslag til løsning på problemet, eventuelt andre metoder for å få til lignende effekt? Endret 2. april 2007 av jokkakim Lenke til kommentar
Loomy Skrevet 2. april 2007 Del Skrevet 2. april 2007 (endret) Opera har en tendens til å være litt overivrig med å bruke ting som ligger i cachen, fremfor å sjekke om det er kommet noe nytt. Det du kan gjøre er å bruke style-elementet direkte i HTMLen fremfor å bruke en egen CSS-fil. Hvis det bare er noen linjer burde ikke det være noen ulempe. Eks: <head> ... <style type="text/css"> /* PHP-generert CSS her */ </style> ... </head> Endret 2. april 2007 av Loomy Lenke til kommentar
jokkakim Skrevet 2. april 2007 Forfatter Del Skrevet 2. april 2007 å jeg som trodde opera var perfekt ^^ men for å få det litt ryddigere så la jeg den dynamiske css'n i en egen fil med "Cache-Control: no-cache" i headeren. så det funker. men da gikk jo planen om å bare ha en css fil i dass Lenke til kommentar
Loomy Skrevet 2. april 2007 Del Skrevet 2. april 2007 Neinei, i motsetning til andre er ikke Opera perfekt *putting on flameproof suit* Lenke til kommentar
jokkakim Skrevet 2. april 2007 Forfatter Del Skrevet 2. april 2007 (endret) Vel, etter å ha lest litt, så viser det seg at opera fortsatt er perfekt Siden jeg ikke hadde "Cache-control: no-cache" i headeren, så er det jo ikke no feil i å lese fra cachen. Men derimot både IE og FF ber om filen på nytt når det ikke er satt noen Cache-control. Men nå har jeg satt "cache-control: max-age=0" i headeren, pluss ETag, så nå sjekker alle (IE, FF & Opera) om den versjonen de har i cache, er den samme som det serveren ville ha gitt-ut/generert. Er den det så får den en 304, hvis ikke en 200 http status kode(+ all koden). Så da er det LØST ;D men bestemte meg for å ha 2 stylesheets uanset, en for statisk css og en for dynamisk EDIT: Bytta til "cache-control: max-age=0" siden no-cache, ikke funka i IE likevel Endret 4. april 2007 av jokkakim Lenke til kommentar
Loomy Skrevet 2. april 2007 Del Skrevet 2. april 2007 Veeeel, man kan aldri stole på headerne (eller mangel på sådan). Hvis den ikke fikk en spesiell Cache-control-header burde den sjekket last-modified-headeren, eller eventuelt tatt en kjapp sammenligning for å sjekke at den ikke er endret siden sist. Hvor mange setter egentlig en spesiell cache-control på stylesheetene sine? Nesten ingen, tør jeg påstå. Menmen, er det løst så er det løst Lenke til kommentar
jokkakim Skrevet 3. april 2007 Forfatter Del Skrevet 3. april 2007 men de fleste bruker vel ikke php på stylesheetene sine heller? med standard css fil(.css) så er det som du sier, at den sjekker las-modified/if-none-match, som standard. menmen, ferdig med det Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå