2008-08-09 11 views
3

Diese Seite von Adobe sagt einen „wmode“ Parameter hinzuzufügen und seinen Wert auf „transparent“: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_1420Wie man einen Flash-Film mit einem transparenten Hintergrund macht

Dies funktioniert einwandfrei im Internet Explorer. Der Hintergrund wird in Firefox und Safari korrekt gerendert. Wenn Sie jedoch die Bildlaufleiste des Browsers verwenden und die Maus über das Flash-Steuerelement bewegen, müssen Sie einmal klicken, um das Steuerelement zu aktivieren. Sie können dieses Verhalten sehen, wenn Sie versuchen, die Wiedergabetaste im Adobe-Beispiel zu drücken.

Wer weiß einen Weg um dies zu wissen?

Antwort

1

Sie kennen (die die Actionscript oben völlig überflüssig macht) können Sie die Hintergrundfarbe, wenn Sie das Einbetten?

Die folgenden Attribute sind optional beim Definieren der Objekt- und/oder Einbettungs-Tags. Für ein Objekt sind alle Attribute in param-Tags definiert, sofern nicht anders angegeben:

bgcolor - [hexadezimaler RGB-Wert] im Format #RRGGBB. Gibt die Hintergrundfarbe des Films an. Verwenden Sie dieses Attribut, um die in der Flash-Datei angegebene Hintergrundfarbe zu überschreiben. Dieses Attribut hat keinen Einfluss auf die Hintergrundfarbe der HTML-Seite.

Cut ‚n Paste aus http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701&sliceId=1

0

Die Aktivierung des fensterlosen Modus (wmode =) bewirkt, dass der eingebettete Flash genau wie andere Elemente agiert und rendert. Ansonsten wird es in einem separaten Schritt gerendert und nur im Browserfenster eingeblendet.

Könnte das Blitzelement den Fokus verlieren? Klingt, als ob der Eingabefokus in die Bildlaufleiste verschoben wurde, und Sie ihn dann zurück verschieben müssen.

Auch Sie waren nicht klar, ob der Schwerpunkt nur in FF oder auch in IE lag.

0

Das Adobe-Beispiel "funktioniert" in Firefox 3.0.1 in dem Sinne, dass der Hintergrund transparent ist. In Firefox 3.0.1 und Safari 3.1.2 müssen Sie jedoch zweimal auf die Wiedergabetaste klicken, um die Animation anzuzeigen.

2

Auf eine andere Anmerkung; Den wmode auf transparent zu setzen, hat ein paar Knicke. Zum Beispiel kann es das Scrollen (der Blitz bleibt an der gleichen Stelle bleiben, abgesehen von der Schriftrolle) in einigen älteren Versionen von Firefox (vor 2.0). Ich hatte auch Probleme mit ALT-Tastenkombinationen in Textfeldern, die nicht funktionieren, wenn wmode transparent ist.

Auch wenn Sie HTML-Inhalt über Flash-Inhalt platzieren müssen (im Allgemeinen keine gute Idee, aber es gibt Fälle, in denen es nützlich ist) wmode = transparent ist der Weg zu gehen.

0

Nachdem ich etwas mehr Zeit damit verbracht habe, stimme ich @grapefrukt zu. Wmode auf transparent zu setzen führt zu allen möglichen seltsamen Problemen und meiner Meinung nach sollte es vermieden werden.

Stattdessen habe ich die Hintergrundfarbe als Parameter übergeben. Ich verwende den folgenden ActionScript-Code, um den Hintergrund zu zeichnen.

var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters; 
opaqueBackground = parameters["background-color"]; 

EDIT: Dank @grapefrukt für mich der bgcolor param erinnert