Ik heb een website gemaakt met een hoop css.
Om het voor mezelf makkelijk te houden staat deze vol commentaar en andere overbodige dingen waar een webbrowser toch niets aan heeft.
Daarom kwam ik op het idee om de css een beetje te comprimeren.
Ik maak gebruik van JSmart. Ik weet niet of iemand het kent of niet, maar dat maakt volgens mij weinig uit voor het probleem.
Deze haalt dus de commentaar en newlines uit de css en geeft hem dan terug aan de browser.
Vermits dit een php script is en ik in mijn htaccess
heb staan, wordt de output ook nog eens door de zlib compression van php gehaald.
Dit werkt allemaal zeer fijn in alle browsers.
Enkel bij firefox onstaat een probleem als de gebruiker op F5 drukt...
Firefox vraagt dan na of het bestand veranderd is, apache antwoord met een 304 response.
30% van de tijd gaat het hier fout. Dan heeft firefox ergens een probleem.
In het browser venster verschijnt dan als output van de css file:
De ÿ karakters zijn niet gecopy-paste omdat die niet lukte, zal wel 1 of ander speciaal teken zijn.
De browser krijgt dus een 304 response en slaagt er soms niet in om dan de content correct tevoorschijn te halen.
k gebruik firefox 2.
Ik hoop dat iemand een idee heeft waarom dit gebeurd.
Als het noodzakelijk is dan geef ik nog wel een url waar dit gebeurd zodat jullie eens kunnen testen.
Edit: probleem opgelost. De zlib compression maakte van een lege body een gecompresseerde body, en dit terwijl een 304 response geen body mag hebben.
Om het voor mezelf makkelijk te houden staat deze vol commentaar en andere overbodige dingen waar een webbrowser toch niets aan heeft.
Daarom kwam ik op het idee om de css een beetje te comprimeren.
Ik maak gebruik van JSmart. Ik weet niet of iemand het kent of niet, maar dat maakt volgens mij weinig uit voor het probleem.
Deze haalt dus de commentaar en newlines uit de css en geeft hem dan terug aan de browser.
Vermits dit een php script is en ik in mijn htaccess
code:
1
2
3
| <ifModule mod_php4.c> php_value zlib.output_compression 16386 </ifModule> |
heb staan, wordt de output ook nog eens door de zlib compression van php gehaald.
Dit werkt allemaal zeer fijn in alle browsers.
Enkel bij firefox onstaat een probleem als de gebruiker op F5 drukt...
Firefox vraagt dan na of het bestand veranderd is, apache antwoord met een 304 response.
30% van de tijd gaat het hier fout. Dan heeft firefox ergens een probleem.
In het browser venster verschijnt dan als output van de css file:
code:
1
2
3
4
5
6
7
8
| <ÿÿHTTP/1.1 304 Not Modified Date: Sat, 30 Dec 2006 14:35:41 GMT Server: Apache Connection: Keep-Alive Keep-Alive: timeout=15, max=98 Vary: Accept-Encoding <ÿÿ |
De ÿ karakters zijn niet gecopy-paste omdat die niet lukte, zal wel 1 of ander speciaal teken zijn.
De browser krijgt dus een 304 response en slaagt er soms niet in om dan de content correct tevoorschijn te halen.
k gebruik firefox 2.
Ik hoop dat iemand een idee heeft waarom dit gebeurd.
Als het noodzakelijk is dan geef ik nog wel een url waar dit gebeurd zodat jullie eens kunnen testen.
Edit: probleem opgelost. De zlib compression maakte van een lege body een gecompresseerde body, en dit terwijl een 304 response geen body mag hebben.
[ Voor 4% gewijzigd door Denhomer op 30-12-2006 19:48 ]