Javascript 使用WMODE时使用JS在Flash插件上捕获righclick事件=";“窗口”;

Javascript 使用WMODE时使用JS在Flash插件上捕获righclick事件=";“窗口”;,javascript,apache-flex,browser,flash,Javascript,Apache Flex,Browser,Flash,我正在为flash应用程序使用自定义右键单击上下文菜单(覆盖默认的adobe菜单)。为此,Uza的右键单击解决方案()运行良好 然而,FlashPlayer插件(用于Firefox/Chrome等)有一个bug,在使用WMode嵌入html时会破坏国际字符的使用。WMode=“widnow”有效 这个问题在这里可以看得更清楚- 问题 我需要捕获从Flash player插件触发到web浏览器容器的右键单击事件,而无需在html嵌入标记(即WMode=“window”)上使用WMode 有人对

我正在为flash应用程序使用自定义右键单击上下文菜单(覆盖默认的adobe菜单)。为此,Uza的右键单击解决方案()运行良好

然而,FlashPlayer插件(用于Firefox/Chrome等)有一个bug,在使用WMode嵌入html时会破坏国际字符的使用。WMode=“widnow”有效

这个问题在这里可以看得更清楚-

问题

我需要捕获从Flash player插件触发到web浏览器容器的右键单击事件,而无需在html嵌入标记(即WMode=“window”)上使用WMode


有人对此有想法吗

右击JS hack在不透明和透明模式下工作,因为浏览器在自己的显示树中渲染Flash。在这种模式下,浏览器接收鼠标事件,允许JS处理它们,然后将它们传递给Flash插件。(这就是为什么在透明模式下输入重音字符或非拉丁字符时会出现错误的原因,因为某些浏览器无法正确地传递这些字符)


在其他窗口模式中,Flash对象不是HTMLDOM的一部分。取而代之的是,它只是给出了一个矩形的显示,并可以直接绘制到它。它还可以直接从操作系统获取键盘和鼠标事件,因此我不希望任何JS上下文菜单攻击在任何主流浏览器中都能起作用。

duplicate:只是一个提示:注意不透明或透明的wmode,请参见Tinic Uro所说的:旧的(但对于向后兼容性仍然适用):新的: