【问题标题】:Is it normal to have a short delay after .innerHTML = xmlhttp.responseText;?.innerHTML = xmlhttp.responseText; 之后有短暂的延迟是否正常?
【发布时间】:2009-06-04 23:54:10
【问题描述】:

.innerHTML = xmlhttp.responseText; 之后有短暂的延迟是否正常? ?

延迟大约 1 秒。在 xmlhttp.readyState==4 之后。

使用火狐 3.0.10

【问题讨论】:

  • 您要更改的内容有多大?如果是 ~.innerHTML = "bob",那么 1 秒是很长的时间。如果它是 ~.innerHTML = 10KB 的标签汤内容,那么 1 秒就不足为奇了(也有点取决于正在测试的计算机)
  • 一个因素是浏览器在推入新数据时需要计算多少。大量复杂的 CSS 可能会造成严重破坏。浮动和内联元素可能会导致障碍

标签: javascript ajax


【解决方案1】:

不,这听起来您可能有一些格式错误或较大的响应。

浏览器将解析响应文本并在 DOM 中构造节点。这在 Firefox 中通常非常快。

也许您可以多描述一下您的情况和响应文本,这将有助于我们调试。

【讨论】:

    【解决方案2】:

    你有安装萤火虫吗?如果没有,请从此处 (https://addons.mozilla.org/en-US/firefox/addon/1843) 安装它并启用控制台和脚本,然后您将能够看到 responseText 何时返回。但一般来说,是的,在发出请求时有短暂的延迟是正常的。

    【讨论】:

      【解决方案3】:

      您如何安排时间来验证差异? (控制台转储?)

      一些延迟是不可避免的,因为 innerHTML(或 DOM 操作,就此而言)需要浏览器解释、处理和显示更改。当然,根据更改的大小,这可能需要 1 秒。

      【讨论】:

        【解决方案4】:

        通常我看不到这种行为。你可以在这里放一些示例代码,或者试试

        http://www.0011.com/ajax_example

        看看您是否看到与您的代码相同的行为。

        【讨论】:

          猜你喜欢
          • 2017-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多