Я бы определенно попытался избежать индикатора прогресса - вы действительно будете бороться с ним.
Если вы действительно должны сделать это, вероятно, лучшее, на что вы можете надеятьсяон должен имитировать - т.е. показывать прогресс за заданный промежуток времени, который вы установили бы в качестве приблизительного значения фактического времени, необходимого для загрузки страницы.Не надежно, но гораздо проще, чем пытаться определить время выполнения загрузки.
Не забывайте также, что индикатор выполнения сам добавит время загрузки.И вам нужно, чтобы код был встроен в ваш настоящий HTML-код;если он находится во внешнем javascript-файле, он сам может быть подвержен задержкам при загрузке, что делает весь упражнение бессмысленным.
Так что, как я уже сказал, это, вероятно, не стоит затраченных усилий.То, что стоило бы усилий, было бы попытаться уменьшить время загрузки.Если достаточно заметно, что вы рассматриваете индикатор выполнения, значит, что-то серьезно не так.
Существует целый стек методов для ускорения времени загрузки сайта;это целая тема сама по себе.Но я постараюсь дать вам несколько советов.Я предлагаю вам также потратить некоторое время на поиск дополнительной информации и последующей информации.
Оптимизация изображения .Если вы еще этого не сделали, запустите все ваши изображения с помощью оптимизирующей программы.Вы можете обнаружить, что можете значительно уменьшить размеры файлов и, соответственно, время загрузки.
CSS Sprites .Одна из основных причин медленного времени загрузки - слишком большое количество отдельных HTTP-запросов.Поскольку браузер может загружать только определенное количество файлов одновременно, любые файлы, превышающие это число, должны будут ждать, пока другие завершат работу, прежде чем они смогут даже начать загрузку.CSS-спрайты решают эту проблему, объединяя несколько изображений в один файл и используя CSS, чтобы отображать только соответствующую его часть в каждом месте.Обычно это используется для групп связанных изображений.
Lazy Load.Существует плагин jQuery под названием LazyLoad , который сообщает вашей странице, что нужно загружать изображения только по мере необходимости.Изображения, находящиеся за пределами видимой страницы, откладываются до тех пор, пока пользователь не начнет прокручивать страницу.Это означает, что изображения, которые видны сразу, загружаются первыми, в результате чего страница в целом загружается быстрее.
Это пока подойдет.Конечно, есть и другие вещи, но все, что я на самом деле пытаюсь сказать, это: оптимизировать, чтобы избавиться от проблемы со скоростью, а не пытаться объединить решение о помощи для бинтов.
Надеюсь, это поможет.