Mozilla已修复Flash,导致Firefox的窗口失去焦点
- 类别: 火狐浏览器
早在2012年中期就发现了一个错误,当在其中播放Flash内容时,该错误会导致Firefox浏览器窗口在某些情况下失去焦点。
这意味着Firefox用户必须单击浏览器窗口才能再次使其成为系统上的活动窗口,即使以前是活动窗口也是如此。该错误有几个问题,包括无法在浏览器中打开新标签页的Ctrl-T之类的键盘快捷键。
根据用户报告,遇到该错误的系统最初是带有Flash 11.3的x86 Windows 7操作系统,但其他系统(如Windows 8.1)也受到它的影响。
根据Mozilla的说法,是Flash(而非Firefox)中的错误导致了浏览器用户的问题。
该问题很快被链接到Flash的保护模式。禁用了该模式或运行了操作系统(如果该模式不可用)的用户没有遇到此问题。
重现问题
要重现该问题,您需要访问运行Flash内容的网页,例如http://www.adobe.com/software/flash/about。
当您使用Ctrl-Shift-Esc打开系统的任务管理器时,您会注意到Flash进程已加载。
然后有必要关闭所有再次播放Flash内容的窗口,并等待直到Flash进程自动终止。
当您再次使用Flash打开网页时,Firefox将失去焦点。
其他错误可能与该问题有关,例如,新窗口在后台打开,而不在系统上打开。
解决问题
Mozilla与Adobe合作解决了该错误,但找不到解决方案。
昨天, 亚伦·克洛茨(Aaron Klotz)发布 关于Bugzilla的评论,但报告确认已找到该问题的可能补丁。
使用LockSetForegroundWindow的可能补丁
此修补程序使用LockSetForegroundWindow包装了进程NP_Initialize调用。这似乎做对了。
该实现目前正在测试中,但到目前为止看起来很有希望。如果在测试过程中未发现问题,它可能会迅速进入Firefox Nightly,并从此一直到浏览器的稳定版本。
更新资料 :看来Adobe也已在Flash Player 15中修复了该错误。
启动Flash Player进程时,Firefox现在将保持焦点(3223393)