【问题标题】:Will a page taking 2-3 mins to render cause a javascript 'taking too long' warning需要 2-3 分钟才能呈现的页面是否会导致 javascript“耗时过长”警告
【发布时间】:2010-07-15 02:46:51
【问题描述】:

我正在使用 jQuery 文档就绪方法 - $(function()

如果页面渲染时间过长(比如 2 分钟以上),这是否会导致页面抛出 javascript 执行错误/警告的时间过长?

【问题讨论】:

  • 欢迎对这个针对 IE 的 javascript 警告的任何见解。
  • 出于好奇,渲染需要这么长时间?
  • 两分钟????你真的希望有人等吗?
  • 我会考虑重构或重新设计您的 JavaScript。 2-3 分钟的页面加载时间远远超出了可接受的范围,令人难以置信。即使您没有收到警告,您的潜在用户也会尖叫。
  • 嗯,@Brandon,您通常访问多少网页需要 2 到 3 分钟才能呈现的网站?

标签: javascript internet-explorer timeout render


【解决方案1】:

没有。 $(function(){}) 将在 DOM 加载后被调用 - 即它不会在整个加载过程中继续运行。除非您尝试执行长时间运行的同步任务或陷入长时间循环,否则您不应该收到该错误。

查看 CPU 利用率。如果它对浏览器来说很高,则说明某处存在无限循环。

【讨论】:

    【解决方案2】:

    取决于您所说的“渲染”。

    如果你在 JS 中做一些密集的处理(比如计算第 100 万个素数或其他东西),浏览器会显示该消息。如果您正在等待资源加载并且没有在某些脚本上磨磨蹭蹭,那么您会没事的。

    【讨论】:

      【解决方案3】:

      没有 document.ready 仅在 DOM 准备好后加载(即在 jquery 核心加载并准备好使用之后),因此如果页面需要 2-3 分钟,它不会抛出任何错误。

      【讨论】:

        【解决方案4】:

        不应该 - 但要测试一下。

        要了解更多信息,为什么不注释掉你当前的加载函数,并放入一个非常简单的加载函数,例如:

         $(document).ready(function() { alert("load firing");}
        

        看看这是否有所作为。重新添加东西直到它坏了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-03
          • 1970-01-01
          • 2014-08-15
          相关资源
          最近更新 更多