2016-02-26 2 views
4

Существует множество способов определить, загружена ли страница. Однако я хочу делать это непрерывно и не могу найти способ, который работает.Как * непрерывно * обнаруживать, если страница полностью загружена JS?

Чтобы объяснить, что постоянно означает, позвольте привести пример. На странице

  • пользователь щелкает где-то и запрашивает новое изображение для загрузки. это вызывает буферизацию некоторых изображений.

  • JS-код автоматически буферизует некоторые изображения непрерывно.

Так что я хочу, чтобы проверить, если на странице есть изображение не осталось быть загружено (также, нет изображения в процессе загрузки).

[Я хочу быть в состоянии понять, загружено ли/загружено/кэшировано каждое изображение. Так что я могу запросить буферизацию новых изображений.]

Я планирую сделать вещь в скобках бесконечное время при ограничении количества буферизованных изображений.

Здесь вы можете попробовать соответствующий код: https://stackoverflow.com/questions/35650853/how-to-buffer-next-200-images-when-the-page-is-not-loading-anything

+0

* "Я планирую ... бесконечное loop "* - Бесконечный цикл заблокирует страницу. Используйте функцию, которая использует setTimeout() для планирования другого вызова для себя каждые X миллисекунд. – nnnnnn

+2

Рассматривали ли вы использование события загрузки (для) для своих изображений, чтобы отслеживать, какие изображения закончили загрузку? Следите за тем, сколько из них выполняется, и когда этот счет падает ниже некоторого порога, вы можете запустить следующую партию. – nnnnnn

+2

Храните массив загружаемых изображений, после их загрузки удалите их из этого массива – Tom

ответ

2

Проверьте наличие загруженного документа:

$(document).ready(function() { 
    //Your code goes here. 
}); 

Проверьте, загружаются изображения:

$('img').each(function(i, e){ 
    var img = new Image(); 
    img.onload = function() { 
     console.log($(e).attr('src') + ' - Loaded!'); 
     $(e).attr('loaded', true); 
    } 
    img.src = $(e).attr('src'); 
}); 
Смежные вопросы