【问题标题】:Browser continues 'loading' after ajax request finishesajax 请求完成后浏览器继续“加载”
【发布时间】:2009-05-12 12:49:48
【问题描述】:

您已经看到了——在一个 ajax 繁重的页面上,比如 meebo.com,浏览器永远不会停止“旋转”,它永远不会表明它已经完成加载。是什么原因造成的,有什么方法可以始终如一地告诉浏览器(无论它是什么浏览器)加载已经完成?

编辑:对不起,我应该在这里指定我是开发人员。我在其他网站上注意到了这一点,现在我的一个网站也在使用 ajax。我想确保当 ajax 调用返回时,页面停止“加载”。

【问题讨论】:

    标签: ajax browser loading spinning


    【解决方案1】:

    如果您使用 javascript 使用 document.open() 向页面写入内容,则微调器将旋转,直到您实际调用 document.close()。

    【讨论】:

    • 我在 AJAX 请求之后使用 document.write() 并且由于某种原因得到了旋转,并且只是将 document.close() 放在 document.write() 停止它之后
    【解决方案2】:

    我在另一个问题中回答了这个问题:

    Stop the browser "throbber of doom" while loading comet/server push iframe

    有一些特定于浏览器的技术可以使旋转停止,或者根本不开始旋转并且仍然通过服务器推送加载数据。

    【讨论】:

      【解决方案3】:

      AJAX 调用本身没有解决方案,但我确实找到了上传到 iframe 的解决方案,这是用于上传的伪 AJAX 技术。如果您从 DOM 中删除 iframe,然后将其放回原处,浏览器将停止上传。巧妙的小技巧。

      【讨论】:

        【解决方案4】:

        这也是 IE 在将行为动态附加到页面或请求大量对象时的一个众所周知的错误。

        Microsoft KB Article - behaviors

        Microsoft KB Article - requests

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-28
          • 2011-07-21
          • 2021-09-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-17
          相关资源
          最近更新 更多