Unterschiede zwischen der Verwendung von wmode = "transparent", "undurchsichtig" oder "Fenster" für ein eingebettetes Objekt auf einer Webseite

74

wenn ein Flash - Objekt mit der Einbettung <object>und <embed>Tag gibt es ein Attribut genannt wmode. Es scheint, dass die meiste Zeit wmode="transparent"dasselbe ist, als ob wmode="opaque"der Flash tatsächlich keine transparente Farbe hat, so dass das untere HTML-Element angezeigt werden soll. Infolgedessen opaquesollte es schneller sein als transparentda es weniger Verarbeitung für Transparenz erfordert, aber die meiste Zeit sehe ich Flash-Objekt eingebettet mit transparentstatt opaque.

opaque wird benötigt, damit andere HTML-Elemente nicht vom Flash-Objekt verdeckt werden (z. B. ein Menüelement, das ein zusätzliches Untermenü öffnet, wird vom Flash-Objekt nicht verdeckt).

By the way, gibt es formale Dokumentation wmode‚s opaque, transparentund window? Ich konnte nur Blogs finden, die es beschreiben, aber nicht die formale Dokumentation. Vielen Dank.

Unpolarität
quelle
Vielen Dank für die Erklärung, dass wmode = "opaque" benötigt wird, damit andere HTML-Elemente nicht verdeckt werden. Das Einbetten eines Youtube-Videos hat mich verrückt gemacht. Der Standardeinbettungscode von YouTube enthält keinen wmode und überlappte andere Divs, obwohl sie höhere Z-Index-Werte hatten. Vielen Dank.
Raddevus

Antworten:

35

Hier ist eine schwache Adobe-Dokumentation zu verschiedenen Einstellungen des Flash 9-WM-Modus.

Ein Hinweis zur Vorsicht bei wmode transparent ist hier im Adobe Bug Trac .

Und neu für Flash 10 sind zwei neue Wmodes: GPU und Direct. Informationen zum wmode finden Sie in der Adobe Knowledge Base .

jedierikb
quelle
6
toll, hier ist ein Zitat des Dokuments: wmode - Mögliche Werte: Fenster, undurchsichtig, transparent. Legt die Fenstermodus-Eigenschaft des Flash-Films für Transparenz, Überlagerung und Positionierung im Browser fest. Fenster - Der Film wird in einem eigenen rechteckigen Fenster auf einer Webseite abgespielt. undurchsichtig - der Film verbirgt alles auf der Seite dahinter. transparent - Der Hintergrund der HTML-Seite wird durch alle transparenten Teile des Films angezeigt. Dies kann die Animationsleistung beeinträchtigen.
Unpolarität
20

Undurchsichtig verursacht weniger Systembelastung, da "transparent" weiterhin versucht, Alpha anzuwenden. Der Grund, warum Sie stattdessen transparent sehen, ist, dass die meisten Webautoren nicht auf Details achten (dh nur einen gefundenen Einbettungscode kopieren).

Übrigens, Sie haben Recht damit, dass es nicht dokumentiert ist. Das Beste, was ich je gesehen habe, ist ein Blog von einem Mann, der behauptet, mit einem Macromedia-Entwickler darüber gesprochen zu haben . Leider kann ich den Link nicht finden.

EDIT : Ich denke, es war dieses: http://www.communitymx.com/content/article.cfm?cid=e5141

SpliFF
quelle
7

Außerdem wmode=opaqueerhält der Flash mit und mit IE die Tastaturereignisse, aber auch die HTML-Seite empfängt sie, sodass er nicht zum Einbetten eines Flash-Spiels verwendet werden kann. Sehr nervig

MegaTux
quelle
1
Dies beantwortet die Frage nicht.
Kapa
3
@ Bazmegakapa: Wie beantwortet dies nicht die Frage? Es ist ein sehr wichtiger Unterschied im Verhalten (ich habe es auf einer sehr wichtigen Spiele-Website erlitten, wodurch es unbrauchbar wurde :() und ein nicht sehr gut dokumentierter Unterschied.
MegaTux
4
Das OP bat um Ressourcen zu diesen Argumenten. Ihre Antwort hätte meiner Meinung nach einen guten und wichtigen Kommentar abgegeben.
Kapa
Unabhängig davon, ob dies als Frage oder Antwort gehört, war dies sehr hilfreich. Vielen Dank!
jmq
3

In den Adobe-KBs zu 'wmode' und anderen Attributen gibt es eine ziemlich gute Beschreibung hinsichtlich ihrer Auswirkung auf Präsentation und Leistung.

http://kb2.adobe.com/cps/127/tn_12701.html

Skotfred
quelle
2

Eine bizarre Sache ist, dass in Chrome + Firefox das MOUSE_LEAVE-Ereignis nicht für OPAQUEund ausgelöst wird TRANSPARENT.

Damit WINDOWfunktioniert es gut. Dieser hat einige Zeit gebraucht, um es herauszufinden! grr ...

(Hinweis: jediericb hat diesen Fehler erwähnt - der ähnlich ist, aber nicht erwähnt MOUSE_LEAVE)

Simon_Weaver
quelle