如何确定间歇性故障是否是由于 Firefox 或 Flash Plug-in 中的错误造成的?
我们有一个旧的 Flash 应用程序,多年来一直运行良好,但在最新版本的 Firefox 上间歇性失败。使用相同版本的 Flash Player,该应用程序在 Internet Explorer 中运行良好。重新编译产品是有风险的,我试图在采取这种做法之前完全理解问题。我希望能够指出已知的浏览器或播放器错误,但我还不能真正说出问题出在哪里。
我使用 Charles Proxy 收集了以下信息:
Flash 应用程序获取它需要加载的文件列表。它请求一个文件,然后等待 Flash 插件调度 Event.COMPLETE,然后再请求下一个文件。在此过程中,我可以看到 HTTP 请求和服务器响应。当应用程序“挂起”时,Charles Proxy 报告响应实际上已完成;然而,Firefox 的状态栏显示“正在传输...”,
有时在很长一段时间内,我根本无法重现该问题。在其他时候,挂断会一次又一次地发生。
最后,如果我们改用 https 而不是 http,问题就永远不会发生。由于 Charles Proxy 显示“状态完成”,而 Firefox 显示传输仍在发生,因此我推测问题实际上出在 Firefox 中。我相信 Firefox 无法识别文件何时实际完成加载,因此无法告诉 Flash Player。最终结果是我们的代码没有从播放器获取 Event.COMPLETE,并且无法继续请求文件。
有人见过类似的东西吗? Firefox 中是否存在会导致此类间歇性故障的已知问题?
We have an old Flash application that has worked fine for years, but intermittently fails on latest versions of Firefox. Using the same version of the Flash Player, the application runs fine in Internet Explorer. Recompiling the product is risky, and I'm trying to fully understand the problem before resorting to that. I'd like to be able to point to a known browser or player bug, but I can't really say where the problem is yet.
I've gather the following information using Charles Proxy:
The Flash application gets a list of files it needs to load. It requests a file then waits until the Flash Plug-in dispatches an Event.COMPLETE before requesting the next file. During this process I can see the HTTP requests and server responses. When the application "hangs", Charles Proxy reports that the response actually completed; however, Firefox's status bar shows "Transferring ..."
Sometimes for an extended period, I can't recreate the problem at all. At other times, the hang-up happens over and over again.
Finally, if we switch to using https instead of http, the problem NEVER happens. Because Charles Proxy shows Status Complete while Firefox shows that a Transfer is still occurring, I speculate that the problem is actually in Firefox. I believe that Firefox is failing to recognize when the file actually finished loading, and therefore it fails to tell the Flash Player. The end result is that our code gets no Event.COMPLETE from the player and cannot continue requesting files.
Has anyone seen something similar to this? Is there a known issue in Firefox that would cause such intermittent failure?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于 Flash 应用程序似乎正在通过 Firefox 的网络堆栈来处理其 HTTP 请求,因此请确保 AdBlock 等 Firefox 扩展不会妨碍。您应该尝试禁用所有扩展以查看问题是否仍然发生。我过去也遇到过类似的问题。
Since it appears that the Flash application is going through Firefox's networking stack for its HTTP requests, make sure that a Firefox extension like AdBlock isn't getting in the way. You should try disabling all extensions to see if the problem still happens. I've had a similar issue to this occur in the past.