Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

// что используется XHR2), что позволяет вычислять процент выполнения,

// но на всякий случай мы заведем счетчик количества вызовов,

var progress = "";

if (е && е.lengthComputable) // Событие "progress": вычислить процент

progress = " " + Math.round(100*e.loaded/e.total) + "%”

else // Иначе сообщить кол-во вызовов

progress = " (" + ++progresscount + ")"

status("Загружается новая версия" + progress);

return false;

}

// Когда приложение впервые загружается в кэш, по окончании загрузки

// броузер сгенерирует событие "cached",

window.applicationCache.oncached = function {

status("Приложение загружено и установлено локально");

return false;

};

// Когда обновляется приложение, находящееся в кэше, то по завершении загрузки

// броузер сгенерирует событие "updateready". Обратите внимание, что при этом

// пользователь по-прежнему будет работать со старой версией приложения,

window.applicationCache.onupdateready = function {

status("Была загружена новая версия приложения. Перезапустите его.");

return false;

};

// Если броузер выполняется в автономном режиме и файл объявления не может

// быть проверен, генерируется событие "error". Это же событие генерируется,

// когда некэшированное приложение ссылается на отсутствующий файл объявления,

window.applicationCache.onerror = function {

status("Невозможно загрузить файл объявления " +

"или сохранить приложение в кэш");

return false;

};

// Если кэшированное приложение ссылается на несуществующий файл объявления,

// генерируется событие "obsolete" и приложение удаляется из кэша.

// В следующий раз приложение будет целиком загружаться из сети, а не из кэша,

window.applicationCache.onobsolete = function {

status("3то приложение больше не кэшируется. " +

"Перезапустите его, чтобы получить последнюю версию из сети.");

return false;

};

Всякий раз, когда загружается HTML-файл с атрибутом

manifest
, броузер генерирует событие «checking» и загружает из сети файл объявления. Вслед за событием «checking» в разных ситуациях генерируются разные события:

Нет обновлений

Если приложение уже находится в кэше и файл объявления не изменился, броузер генерирует событие «noupdate».

Есть обновления

Если приложение находится в кэше и обнаружено изменение файла объявления, броузер генерирует событие «downloading» и приступает к загрузке и кэшированию всех файлов, перечисленных в файле объявления. С началом процесса загрузки начинают генерироваться события «progress». А по окончании загрузки генерируется событие «updateready».

Первая загрузка нового приложения

Если приложение отсутствует в кэше, события «downloading» и «progress» генерируются, как и для случая обновления кэше, описанного выше. Однако по окончании первой загрузки броузер генерирует событие «cached», а не «updateready».

  • Читать дальше
  • 1
  • ...
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: