13

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

谢谢

4

4 回答 4

12

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

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

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

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

于 2009-12-24T15:11:37.350 回答
2

我认为使用 Javascript 是不可能的,除非页面非常大,否则我不明白你为什么需要这个。如果页面上有很多图像,则可以判断其中有多少已完全加载。

编辑:我发现了这个,这看起来像是你想做的。

编辑 2:这个答案在 SO 上

于 2009-12-24T15:07:02.540 回答
0

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

您可以期望的最好的结果是一个动画 GIF,它可以在您估计页面在最坏情况下加载的时间里运行多长时间。或者更简单的解决方案是只使用颤抖、沙漏或理发杆

于 2009-12-24T15:13:52.700 回答
-1
<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-09-12T03:47:37.437 回答