我正在编写一个 iphone 应用程序,需要显示一个显示网页加载进度的进度条。我想在这个页面中插入一个 JS 函数,一旦我调用它,它就会给我加载进度(加载了多少字节和总大小)。这可能吗?
谢谢
我正在编写一个 iphone 应用程序,需要显示一个显示网页加载进度的进度条。我想在这个页面中插入一个 JS 函数,一旦我调用它,它就会给我加载进度(加载了多少字节和总大小)。这可能吗?
谢谢
不,这是不可能的。您可以通过将页面分成小块并使用 ajax 请求逐个加载来模拟它,但我认为这不值得麻烦。
另一个想法是把小块脚本像
<script>percentage += 10; updateProgressBar();</script>
通过您的页面。该脚本将在第二个浏览器加载(或解析)它时执行,以便您能够估计进度。
我认为使用 Javascript 是不可能的,除非页面非常大,否则我不明白你为什么需要这个。如果页面上有很多图像,则可以判断其中有多少已完全加载。
编辑:我发现了这个,这看起来像是你想做的。
编辑 2:这个答案在 SO 上。
你怎么知道 Safari 加载了多少百分比的 HTML?我所知道的 1.7 中的 Javascript 永远不会意识到这一点。如果是这样,您将拥有更复杂的 Gmail 加载程序和丰富的 Google 应用程序。您可以通过以编程方式将脚本和元素注入 DOM 来进行非常粗略的估计,但这需要付出很多努力,但收效甚微。
您可以期望的最好的结果是一个动画 GIF,它可以在您估计页面在最坏情况下加载的时间里运行多长时间。或者更简单的解决方案是只使用颤抖、沙漏或理发杆。
<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>