【问题标题】:JQuery & IE8 crash detectionJQuery & IE8 崩溃检测
【发布时间】:2011-11-02 13:31:40
【问题描述】:

我最近被要求帮助调试导致 IE8 在某些情况下崩溃的网站问题。拥有该网站的公司无法重现该问题,但他们收到了许多受影响用户的报告。

我能够重现该问题,最终发现它是由this jQuery/IE 8 issue 引起的。当使用 CSS 将背景图像应用于 body 标记并加载 jQuery 时,会出现此问题。 jQuery bug ticket cmets 上的帖子提供了this jsFiddle example,至少对我而言,它始终如一地重现了该问题。

我遇到的问题是在测试环境中可靠地重现此问题。任何人都可以建议测试这种事情的方法吗?尽管复制了 jsFiddle 示例使用的确切代码,但我无法在本地始终如一地重现该问题 - 它可能依赖于特定的时间,但我不确定。我想在自动化测试套件中添加一些东西来检查这个问题(之前已经应用了 jQuery 修复,但在以后的版本中意外删除了)。

如何测试浏览器崩溃?该站点是用 Perl 编写的,并且使用 Selenium 和 WWW::Mechanize 进行了一些自动化测试。

注意:我考虑在Pro Webmasters 上发布此内容,但在阅读了FAQ 之后,我认为它更适合SO。

【问题讨论】:

  • 我认为它直接介于网站管理员和 SO 之间。 SE站点之间的界限有时非常模糊。

标签: jquery css browser web system-testing


【解决方案1】:

我认为除了尽可能多地组合各种因素同时运行单元测试和压力测试之外,您别无他法。

这就是所谓的“Mandelbugs”的本质。

【讨论】:

    【解决方案2】:

    您可以尝试使用一些提供跨平台、跨浏览器测试功能的 SauceLabs 产品进行测试。

    【讨论】:

      【解决方案3】:

      鉴于唯一一致的事情似乎是如果您在样式声明之前加载 JQ 没有问题,我会尝试将 JQ 设置为在 CSS 声明/链接的 CSS 文件加载后以不同的时间间隔加载。

      从样式建立之后到 DOM 准备好之后。我的猜测是 JQ 引用了一些 IE8 已经可以访问的东西,但由于它的 DOM 加载过程中发生了一些非常愚蠢的事情,它还没有准备好分享。

      我见过多次开发者工具在 IE8 中永久崩溃的事件,即使您重新打开该应用程序也是如此。如果不是这样,我认为此类错误不太可能发生。

      编辑:公平地说,JQ 可能在 1.62 中做了一些奇怪的事情,否则这个错误会更广为人知。 IE8 已经推出几年了。

      【讨论】:

        猜你喜欢
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 2012-05-04
        • 2011-03-20
        • 1970-01-01
        • 2016-05-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多