div-Layer und Flash-Movies
Manche Probleme tauchen unvermittelt auf und kosten Unmengen an Zeit. Ein solches ist z.B. die Aufgabe in einem HTML-Layout ein div-Layer ueber einen Flashfilm zu positionieren. Die Positionierung per position: absolute und z-index sollte kein Problem darstellen, doch verdeckt der Flashfilm in fast allen Browsern die eigentlich darueber angeordnete Ebene, was schlichtweg ein Bug zu sein scheint.
Die Loesung des Problems ist ganz einfach und heisst:
wmode = transparent
Dadurch, dass man den Hintergrund des Flashfilms transparent setzt, funktioniert die Anzeige der Layers wieder in der richtigen Reihenfolge. Der Code sieht so aus:
im Tag object
<param name="wmode" value="transparent">
im Tag embed
wmode="transparent"
Und wer das swfObject benutzt:
so.addParam('wmode', 'transparent');
Auf manchen Systemen scheint das Flash-PlugIn Probleme zu haben die Transparenz darzustellen (ich habe von Mac und Linux gehoert). Ob dieser Workaround dann noch funktioniert, konnte ich nicht in Erfahrung bringen.
Weiterhin gibt es Bugs in Flashfilmen, wenn wmode = transparent gesetzt ist. Teilweise gab es merkwuerdige Effekte beim Ausfuellen von Formularen. z und y waren bei der Eingabe in Textfeld-Komponenten vertauscht, Zeichen wie das @ waren gar nicht mehr auf der Tastatur zu finden. Wer also Formulare in seinem Flashfilm hat, sollte de Hintergrund von Flash nicht auf transparent schalten! Hier lauern boese Bugs!