Подтвердить что ты не робот

Получите процент загрузки страницы с помощью javascript?

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

Спасибо

4b9b3361

Ответ 1

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

Другая идея - поместить маленькие кусочки script как

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

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

Ответ 2

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

Изменить: я нашел этот, который похож на желаемую работу.

Изменить 2: И этот ответ на SO.

Ответ 3

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

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

Ответ 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>