Toon posts:

[CSS/IE] background-image wordt niet gecached

Pagina: 1
Acties:
  • 191 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Na veel zoeken en lezen ben ik achter de zgn IE hover-bug gekomen. Dit is alleen niet helemaal de juiste specificatie van mijn probleem. Deze bug betreft alleen het niet cachen van plaatjes bij een :hover tag. Mijn probleem gaat nog iets verder:

In mijn css heb ik veel constructies zitten die gebruik maken van een gepositioneerde background-image. Elke keer als ik herlaad worden al deze plaatjes opnieuw van de server getrokken (IE, FF werkt top). Ik vraag me nu af; is er een manier om deze plaatjes wél te laten cachen?

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
IE kent helemaal geen :hover op andere dingen dan anchors.. dus vraag me een beetje af wat je bedoelt..

wat je in je 2de alinea zegt vind ik raar want hier werkt dit gewoon prima (IE 6), misschien is het een lokaal probleem?

This message was sent on 100% recyclable electrons.


Verwijderd

Topicstarter
't Was meer een kleine samenvatting van het hover probleem, wat alleen op het gebied van niet-cachen een raakvlak heeft met mijn probleem. Even om aan te geven dat ik wèl gezocht heb :).

Ik vraag me af of het een lokaal probleem is; ik gebruik al jaren FF en heb waarschijnlijk IE nog gewoon standaard ingesteld. Als je het wilt proberen, http://test.unitassg.nl/.

De plaatjes zitten achter mod_rewrite, maar dit is transparant voor de browser dus zou (imho) niet uit moeten maken.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Verwijderd schreef op vrijdag 23 juni 2006 @ 12:59:
't Was meer een kleine samenvatting van het hover probleem, wat alleen op het gebied van niet-cachen een raakvlak heeft met mijn probleem. Even om aan te geven dat ik wèl gezocht heb :).

Ik vraag me af of het een lokaal probleem is; ik gebruik al jaren FF en heb waarschijnlijk IE nog gewoon standaard ingesteld. Als je het wilt proberen, http://test.unitassg.nl/.

De plaatjes zitten achter mod_rewrite, maar dit is transparant voor de browser dus zou (imho) niet uit moeten maken.
um welke 'plaatjes' bedoel je? je grote header plaatje is namelijk gewoon een img tag en geen background-image oid

ow en hoe zie je trouwens dat ze niet gecached worden? IE bouwt de pagina namelijk sowieso langzamer op dan FF, en daardoor is het lastig te zien of ie het plaatje echt reload.. ik kan jouw apache logs natuurlijk niet bekijken...

[ Voor 18% gewijzigd door BasieP op 23-06-2006 13:18 ]

This message was sent on 100% recyclable electrons.


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:38 +0200] "GET /pages/32 HTTP/1.1" 200 7629 "http://test.unitassg.nl/pages/62" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /css/base.css HTTP/1.1" 200 2211 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /css/panes.css HTTP/1.1" 200 3014 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /css/menu_base.css HTTP/1.1" 200 416 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /css/menu_style.css HTTP/1.1" 200 884 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /css/main_content.css HTTP/1.1" 200 1255 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:39 +0200] "GET /images/menu_arrow.gif HTTP/1.1" 200 46 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
.
.
.
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:42 +0200] "GET /pages/65 HTTP/1.1" 200 7088 "http://test.unitassg.nl/pages/32" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /css/base.css HTTP/1.1" 200 2211 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /css/panes.css HTTP/1.1" 200 3014 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /css/menu_base.css HTTP/1.1" 200 416 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /css/menu_style.css HTTP/1.1" 200 884 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /css/main_content.css HTTP/1.1" 200 1255 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:43 +0200] "GET /images/menu_left.gif HTTP/1.1" 200 195 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"
.
.
.
xxx.xxx.xxx.xxx - - [23/Jun/2006:13:19:44 +0200] "GET /sponsors/husk.gif HTTP/1.1" 200 15202 "http://test.unitassg.nl/pages/65" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)"


Het probleem blijkt nog erger, er wordt uberhaupt niets gecached. Ik bedoelde de icons naast de titel van de linker- en rechter panes, de oranje arrows en de zijbalken. Nu blijkt dat ook de plaatjes in de img tags niet gecached worden... Ik snap er even helemaal niets meer van.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
mm ik zie nu dat je zelf (of iig in je access.log) maxthon gebruikt... nu is dat welliswaar met IE engine, maar settings kunnen zo anders zijn..

mijn ip adres eindigt op .89, kijk eens of ik ook 200's krijg. (zojuist aantal kliks gedaan met IE)

This message was sent on 100% recyclable electrons.


Verwijderd

Topicstarter
Jep alleen maar 200's. Ik zie dat je 9x geklikt hebt, waarbij 267 lines in het access log komen, welke ook allemaal 200's zijn. Zelf zie ik de pagina in ongeveer 1 seconde verschijnen (dat alle items geladen worden). Met een snellere verbinding zal het misschien niet te zien zijn, ik heb hier @Home ~6Mbit.

Heeft iemand een idee waarom IE totaal niet cached? In de logs komen _geen_ 304's tevoorschijn (not modified) en ik heb geen flauw idee waar dit aan zou kunnen liggen.

(BasieP, bedankt voor het controleren)

Verwijderd

Ja het is mogelijk, maar dan moet je wel content expiration headers instellen in je webserver zodat de bestanden door de browser worden gekenmerkt als cachable voor een periode. IE is hier heel strikt in, waar andere browsers er direct goed mee omgaan.

Zelf goede ervaringen hiermee met een web applicatie waar ontzettend veel icons in worden gebruikt. Na de caching headers kon je met een sniffer goed zien dat de bestanden niet meer werden opgehaald. Zelfs bij "every visit to a page" wordt het bestand dan nog maar eenmaal opgehaald.

Ik heb hier in het verleden nog met een IE developer over gediscusieerd want imo is het gewoon niet goed geimplementeerd:

zie:[rml]Gordijnstok in "[ IE7] Wat vinden we ervan?"[/rml]

[ Voor 28% gewijzigd door Verwijderd op 23-06-2006 20:54 ]


Verwijderd

Topicstarter
In de htaccess heb ik deze tag gezet:
code:
1
2
ExpiresActive on
ExpiresDefault "access plus 1 month"

En nog steeds krijg ik alleen maar 200's, bij elk bezoek aan een pagina.

Met Fiddler heb ik bekeken wat voor headers IE terugkrijgt, en dit is in alle gevallen
code:
1
2
Cache-Control: max-age=2592000
Expires: Sat, 29 Jul 2006 00:56:27 GMT


Hopelijk heeft iemand dit zelf ook eens meegemaakt, want ik wordt hier helemaal gek van.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Mijn ervaring is dat het correct setten van expire-headers inderdaad niet in alle gevallen soelaas biedt (ik moet daar nog steeds eens testcases voor maken :P). Voor DHTML lemmings heb ik daarom toen voor IE gewone images gebruikt ipv background-images voor de tiles, een andere oplossing was er eenvoudigweg niet.
Dat IE een nieuwe request doet zelfs bij het simpelweg aanpassen van de background-position is in mijn ogen al genoeg bewijs dat het gewoon buggy is want in dat geval zouden headers helemaal niet uit mogen maken.

[ Voor 7% gewijzigd door crisp op 29-06-2006 08:57 ]

Intentionally left blank

Pagina: 1