JavaScript. Подробное руководство, 6-е издание
Шрифт:
// В начале этого процесса первым всегда генерируется событие "checking",
window.applicationCache.onchecking = function {
status("Проверка наличия новой версии.");
return false;
};
// Если файл объявления не изменился и приложение уже имеется
в кэше,
// генерируется событие "noupdate" и процедура проверки заканчивается,
window.applicationCache.onnoupdate = function {
status("Версия приложения не изменилась.")
return false;
};
// Если приложение отсутствует в кэше или если изменился файл объявления,
// броузер загрузит и поместит в кэш все, что перечислено в файле объявления.
// Событие "downloading" свидетельствует о начале этой процедуры загрузки,
window.applicationCache.ondownloading = function {
status("Загружается новая версия");
window.progresscount = 0; // Используется в обработчике "progress" ниже
return false;
};
// В ходе загрузки периодически генерируются события "progress”,
// обычно после загрузки каждого файла.
window.applicationCache.onprogress = function(e) {
// Объект события должен соответствовать событию "progress" (подобному тому,
// что используется 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то приложение больше не кэшируется. " +
"Перезапустите его, чтобы получить последнюю версию из сети.");
Поделиться:
Популярные книги
Слово мастера
11. Гибрид
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
По осколкам твоего сердца
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
Сердце Дракона. Том 11
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Барон нарушает правила
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Валькирия
Фантастика:
фэнтези
9.49
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Черный Маг Императора 17
17. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Паразиты
Проза:
современная проза
6.20
рейтинг книги
Запасная дочь
Фантастика:
фэнтези
6.40
рейтинг книги
Справочник логопеда
Научно-образовательная:
медицина
6.25
рейтинг книги
Оружейникъ
2. Александр Агренев
Фантастика:
альтернативная история
9.17