Flackern von CSS-Hintergrundbildern im IE
Also zunächst mal die lange Erklärung des Problems, da die Überschriftenlänge irgendwie nicht ausreichte:
Der Internet Explorer 6 hat ein Problem mit Hintergrundbildern, die per CSS definiert werden. Aus Gründen die mir bis heute nicht klar waren, flackern Hintergrundbilder, die per CSS-Anweisung für z.B. einen Link definiert sind, bei einem Überfahren mit der Maus kurz. So ist das z.B. auch auf dieser Seite unter jedem Artikel bei dem Permalink oder dem Link zum Kommentieren gewesen.
Bis vor einigen Tagen hatte ich dieses Problem einfach als IE-gegeben hingenommen und nicht weiter evaluiert. Aber die Welt wäre ja nicht diese Welt, wenn nicht irgendwelche Freaks für jeden komischen Bug im IE einen Workaround finden würden. Über einen davon - eben genau zur Umgehung dieses Phänomens - bin ich vor einigen Tagen zufällig beim Surfen gestolpert, hatte da aber keine Zeit ihn weiter zu verfolgen. Heute ist mir das dann wieder eingefallen. Zum Glück hatte ich mir den Link bei del.icio.us gesichert.. Ich fang also an zu lesen: Man kann das Problem wohl teilweise dadurch umgehen, daß man mit folgenden Anweisungen die vary-Header für den IE abschaltet.
Zu dem zweiten Anweisungshaufen muß ich sagen, daß dieser vorraussetzt, daß mod_expires im Apache geladen ist. Das ist zumindestens bei mir nicht der Fall gewesen. Noch schlimmer sogar.. Das Modul war nichtmals mitkompiliert worden. Ich habe dann auch im configure Script nachgesehen, das Modul wird per default nicht mitkompiliert. Das war jetzt für mich kein großes Problem, für Leute, die bei irgendwelchen shared Hostern sind, ist es das allerdings schon, da diese vermutlich doch weitestgehend Standardkonfigurationen einsetzen..
Sollte der eine oder andere Hoster dieses Modul allerdings doch kompiliert und geladen haben, sollten beide Anweisungshaufen auch in einer .htaccess Datei platziert funktionabel sein..
Nachtrag:
Nach kurzem Test (durch Schreiben dieses Beitrags) ist mir aufgefallen, dass die Angabe "ExpiresDefault A18000" aus dem Originalartikel ihrerseits den IE wieder ins Schleudern bringt, denn dann wird er angewiesen jedes Dokument (egal ob Bild, HTML oder nochwas anderes) für fünf Stunden zu speichern, was bei mir z.B. dazu führte, daß ich im Textfeld zum Bearbeiten dieses Artikels nicht den neusten Stand, sondern einen gecachten älteren zu sehen bekam. Die ExpiresDefault-Angabe kann man aber getrost entfernen, danach scheint - zumindestens bei mir - alles wieder normal zu funktionieren und das Flackern ist immer noch weg.
Der Internet Explorer 6 hat ein Problem mit Hintergrundbildern, die per CSS definiert werden. Aus Gründen die mir bis heute nicht klar waren, flackern Hintergrundbilder, die per CSS-Anweisung für z.B. einen Link definiert sind, bei einem Überfahren mit der Maus kurz. So ist das z.B. auch auf dieser Seite unter jedem Artikel bei dem Permalink oder dem Link zum Kommentieren gewesen.
Bis vor einigen Tagen hatte ich dieses Problem einfach als IE-gegeben hingenommen und nicht weiter evaluiert. Aber die Welt wäre ja nicht diese Welt, wenn nicht irgendwelche Freaks für jeden komischen Bug im IE einen Workaround finden würden. Über einen davon - eben genau zur Umgehung dieses Phänomens - bin ich vor einigen Tagen zufällig beim Surfen gestolpert, hatte da aber keine Zeit ihn weiter zu verfolgen. Heute ist mir das dann wieder eingefallen. Zum Glück hatte ich mir den Link bei del.icio.us gesichert.. Ich fang also an zu lesen: Man kann das Problem wohl teilweise dadurch umgehen, daß man mit folgenden Anweisungen die vary-Header für den IE abschaltet.
BrowserMatch "MSIE" brokenvary=1
BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
BrowserMatch "Opera" !brokenvary
SetEnvIf brokenvary 1 force-no-vary
ExpiresActive On
ExpiresByType image/gif A3600
ExpiresByType image/jpeg A3600
ExpiresByType image/png A3600
Zu dem zweiten Anweisungshaufen muß ich sagen, daß dieser vorraussetzt, daß mod_expires im Apache geladen ist. Das ist zumindestens bei mir nicht der Fall gewesen. Noch schlimmer sogar.. Das Modul war nichtmals mitkompiliert worden. Ich habe dann auch im configure Script nachgesehen, das Modul wird per default nicht mitkompiliert. Das war jetzt für mich kein großes Problem, für Leute, die bei irgendwelchen shared Hostern sind, ist es das allerdings schon, da diese vermutlich doch weitestgehend Standardkonfigurationen einsetzen..
Sollte der eine oder andere Hoster dieses Modul allerdings doch kompiliert und geladen haben, sollten beide Anweisungshaufen auch in einer .htaccess Datei platziert funktionabel sein..
Nachtrag:
Nach kurzem Test (durch Schreiben dieses Beitrags) ist mir aufgefallen, dass die Angabe "ExpiresDefault A18000" aus dem Originalartikel ihrerseits den IE wieder ins Schleudern bringt, denn dann wird er angewiesen jedes Dokument (egal ob Bild, HTML oder nochwas anderes) für fünf Stunden zu speichern, was bei mir z.B. dazu führte, daß ich im Textfeld zum Bearbeiten dieses Artikels nicht den neusten Stand, sondern einen gecachten älteren zu sehen bekam. Die ExpiresDefault-Angabe kann man aber getrost entfernen, danach scheint - zumindestens bei mir - alles wieder normal zu funktionieren und das Flackern ist immer noch weg.
geschrieben am 19. Juli, 23:53 in geeky · 1354x gelesen
keine kommentare · kommentieren