Ami*_*mir 9 javascript flash fullscreen actionscript-3 mousewheel
虽然Flash有一个鼠标滚轮事件(MouseEvent.MOUSE_WHEEL),但它有很多问题.
首先,Mac上尚不支持该事件.所以有一堆解决方案,所有这些(基本上)都在javascript中捕获mousewheel(或DOMMouseScroll)事件并将其传递给flash应用程序.幸运的是,在我测试过的所有Mac浏览器中,当闪光灯处于全屏模式时,这也适用.
问题2是flash忽略具有小"增量"的鼠标滚轮事件.例如,Microsoft的IntelliPoint Mice带有"Smooth Scroll"会导致此问题.解决方案与mac的解决方案相同...即在浏览器中捕获javascript鼠标滚轮事件并将其传递给应用程序.问题是我测试的Windows浏览器(firefox,即safari和chrome),当闪存处于全屏模式时,它们似乎无法捕获此事件.有谁知道为什么或如何解决这个问题?
我目前有一个混合解决方案,总是从javascript(非全屏或全屏模式)中获取事件,除非它在Windows上处于全屏模式(此时它从闪光鼠标轮事件中获取它们).所以它失败的唯一时间是Windows上的全屏模式,鼠标具有小的增量.有人有完整的解决方案?还是只是一个更好的?
这是 adobe JIRA 上的一个已知问题。您需要等待他们修复它,或者使用另一个事件代替 MouseEvent.MOUSE_WHEEL。它不适用于 Windows,因为 Windows 中的 Flash 播放器实现与 Mac 和 Linux 完全不同。Mac和Linux使用GTK来实现插件Handle。在 Windows 上,它使用 Win32API Common HWND,这会窃取全屏模式的焦点,导致浏览器上无法调度滚动事件。在 Mac 和 Linux 上,GTK 只是将插件大小拉伸到桌面大小,而不做真正的全屏。这是这些系统内部的 GTK 行为。什么也做不了。
| 归档时间: |
|
| 查看次数: |
2389 次 |
| 最近记录: |