【问题标题】:Get the percentage of the page load using javascript?使用javascript获取页面加载的百分比?
【发布时间】:2010-12-29 20:09:50
【问题描述】:

我正在编写一个 iphone 应用程序,需要显示一个进度条来显示网页的加载进度。我想在这个页面中插入一个 JS 函数,一旦我调用它,它就会给我加载进度(加载了多少字节和总大小)。这可能吗?

谢谢

【问题讨论】:

  • 如果你的页面需要一个进度条,那就是一个太大的标志。此外,主流浏览器都集成了进度条,这比任何 JS hack 都要高效。

标签: javascript iphone time load progress


【解决方案1】:

不,这是不可能的。您可以通过将页面分成小块并使用 ajax 请求逐个加载来模拟它,但我认为这不值得。

另一个想法是把小块脚本像

<script>percentage += 10; updateProgressBar();</script>

通过您的页面。该脚本将在第二个浏览器加载(或解析)它时执行,以便您能够估计进度。

【讨论】:

    【解决方案2】:

    我认为使用 Javascript 是不可能的,除非页面非常大,否则我不明白您为什么需要它。如果页面上有很多图片,这可能会告诉您其中有多少已完全加载。

    编辑:我找到了this,这看起来像是你想做的。

    编辑 2:和this answer on SO

    【讨论】:

    • 从技术上讲,我很确定这是可能的(即使很复杂)。如果您在头部发送
    • 我认为检查加载图像的数量是我需要的。我会试试看的!
    【解决方案3】:

    您如何知道 Safari 加载的 HTML 百分比是多少?我所知道的 1.7 中的 Javascript 永远不会意识到这一点。如果是这样,您将拥有更复杂的 Gmail 加载程序和丰富的 Google 应用程序。您可以通过以编程方式将脚本和元素注入 DOM 来进行非常粗略的估计,但这需要付出很多努力,却收效甚微。

    您可以期望的最好的结果是动画 GIF,它可以运行多长时间,您估计在最坏的情况下要加载的页面。或者更简单的解决方案是使用throbber, hour glass or barber's pole

    【讨论】:

      【解决方案4】:
      <html>
      <head>
      </head>
      <body>
      <script type="text/javascript" type="javascript">
      var percent=0;
      
      function curpercent(){
          //TODO : show percent : $("#lblpercent").html(percent + "%");
          if (percent <=100) {
              curpercent();
          }
      
      }
      
      curpercent(); //call curpercent function when page download this line, coz, browser always download your page line by line.
      
      </script>
      
      text body 1
      <script type="text/javascript" type="javascript">
      percent=10;
      </script>
      
      text body 2
      <script type="text/javascript" type="javascript">
      percent=20;
      </script>
      
      ...
      
      text body 10
      <script type="text/javascript" type="javascript">
      percent=100;
      </script>
      
      </body>
      </html>
      

      【讨论】:

      • 请尽量解释你的答案,不要让提问者猜测你在回复中暗示了什么。
      猜你喜欢
      • 2011-06-27
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多