Получить процент загрузки страницы с помощью JavaScript? - PullRequest
12 голосов
/ 24 декабря 2009

Я пишу приложение для iphone и мне нужно показать индикатор выполнения, который показывает ход загрузки веб-страницы. Я хочу вставить функцию JS на эту страницу, и как только я ее вызову, она даст мне прогресс загрузки (сколько байт было загружено и общий размер) Это возможно?

Спасибо

Ответы [ 4 ]

11 голосов
/ 24 декабря 2009

Нет, это невозможно. Вы можете эмулировать его, разбивая свою страницу на мелкие кусочки и загружая ее одну за другой с помощью запросов ajax, но я не думаю, что это стоит того.

Другая идея состоит в том, чтобы поместить небольшие кусочки скрипта, такие как

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

через вашу страницу. Этот скрипт будет выполнен, когда второй браузер загрузит (или проанализирует) его, чтобы вы могли оценить прогресс.

2 голосов
/ 24 декабря 2009

Я не думаю, что это возможно, используя Javascript, и если страница ОЧЕНЬ большая, я не понимаю, зачем вам это нужно. Если на странице много изображений, возможно, будет возможно определить, сколько из них загружено полностью.

Редактировать: я нашел это , похоже, что вы хотите сделать.

Редактировать 2: И этот ответ на SO .

0 голосов
/ 12 сентября 2011
<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>
0 голосов
/ 24 декабря 2009

Как вы узнаете, какой процент HTML загружается Safari? Javascript из того, что я знаю о 1.7, никогда не узнает об этом. Если бы это было так, у вас были бы гораздо более сложные загрузчики для Gmail и множество приложений Google. Вы можете делать очень грубые оценки, внедряя сценарии и элементы в DOM программно, но это требует больших усилий, а не большого выигрыша.

Лучшее, на что вы можете надеяться, - это анимированный GIF-файл, который показывает, как долго вы оцениваете загрузку страницы в худшем случае. Или более простое решение - просто использовать троббер, песочные часы или шест для парикмахера .

...