2009-05-26 7 views
3

Ich verwende ein benutzerdefiniertes Kontextmenü für eine Flash-App (Überschreiben der Standard-Adobe-Menü). Dafür funktioniert UZAs Rechtsklick-Lösung (http://www.uza.lt/blog/2007/08/solved-right-click-in-as3) gut.Capture Righclick-Ereignis auf Flash-Plugin mit JS bei Verwendung von WMODE = "Fenster"

Allerdings hat Flash-Player-Plugin (für Firefox/Chrome usw.) einen Fehler, der die Verwendung von internationalen Zeichen bricht, wenn es WMode für die HTML-Embed verwendet. WMode = "widnow" funktioniert.

http://bugs.adobe.com/jira/browse/FP-501

Das Problem kann hier besser zu sehen -

http://www.5etdemi.com/blog/archives/2005/06/firefox-wmodetransparent-is-completely-screwy-and-breaks-textfields/

Das Problem

ich die richtige Click-Ereignis von Flash-Player-Plugin auf die Bahn gefeuert erfassen müssen Browser-Container ohne Verwendung von WMode auf dem html embed-Tag (dh. WMode = "window")

Hat jemand eine Idee dazu?

+0

Duplikat: http://stackoverflow.com/questions/907668/capture-right-click-through-javascript-withouth-wmode – jedierikb

+2

Nur ein Hinweis: mit opak oder transparent wmode vorsichtig sein, was Tinic Uro sagt: alt (aber immer noch aus Gründen der Abwärtskompatibilität): http://www.kaourantin.net/2005/01/wmode-and-flash-video.html Neu Eins: http://www.kaourantin.net/ 2010/02/core-animation.html –

Antwort

0

Der Rechtsklick-JS-Hack funktioniert im undurchsichtigen und transparenten Modus, da der Browser den Flash in seiner eigenen Anzeigebaumstruktur rendert. In diesem Modus empfängt der Browser Mausereignisse, ermöglicht deren Bearbeitung durch JS und gibt sie dann an das Flash-Plugin weiter. (Dies ist der Grund, warum es Fehler gibt, akzentuierte oder nicht-lateinische Zeichen im Transparentmodus einzugeben, da einige Browser sie nicht richtig durchlaufen).

In den anderen Fenstermodi ist das Flash-Objekt nicht auf die gleiche Weise Teil des HTML-DOM. Stattdessen erhält es nur ein Rechteck des Displays und kann direkt darauf zeichnen. Es bekommt auch seine Tastatur- und Mausereignisse direkt vom Betriebssystem, daher würde ich nicht erwarten, dass JS-Kontextmenü-Hacks in jedem Mainstream-Browser funktionieren.

Verwandte Themen