Я пишу офлайн-приложение.предотвращает вызов ajax, если кэш приложения обновляется
У меня есть файлы манифеста для моего приложенияCache. и у меня есть обработчики для событий appCache. Я хочу определить, загружаются ли файлы в первый раз или обновляются. потому что в случае их обновления я хотел бы предотвратить запуск моего кода приложения, так как обновить браузер после обновления моего приложения.
моя конкретная проблема в том, что, когда «проверка» события увольняют, статус applicationCache уже «ЗАГРУЗКА»,
ли кто-нибудь знает, как получить applicationCache.status перед любым манифеста или файлов получает загружены?
спасибо заранее за любой ответ
window.applicationCache.addEventListener('checking', function (event) {
console.log("Checking for updates.");
console.log("inside checking event, appcache status : %s", applicationCache.status);
}, false);
window.applicationCache.addEventListener('updateready', function (e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new version of manifest files
window.location.reload();
}
}, false);
window.applicationCache.addEventListener('downloading', function (event) {
appCommon.information("New version available", "Updating application files...", null, null);
}, false);
window.applicationCache.addEventListener('progress', function (event) {
$("#informationModal").find(".modal-body").html("Updating application files... " + event.loaded.toString() + " of " + event.total.toString());
}, false);
window.applicationCache.addEventListener('cached', function (event) {
$("#informationModal").find(".modal-body").html("Application up to date.");
setTimeout(function() { $("#informationModal").find(".close").click(); }, 1000);
}, false);
Спасибо за ответ, я уже использую updateready event, вот где я обновляю свой браузер, чтобы гарантировать, что пользователь использует последний код, я не могу использовать swapcache, так как это нормально для изображений, но вот что происходит здесь что приложение js изменилось, поэтому мне нужно обновить. Моя особая проблема заключается в том, что событие «проверка» уволено поздно, когда оно уволено, файлы уже начали загрузку ... что я считаю полезным из вашего ответа, хотя, инициализирует мое приложение после обновлений или событий noupdate –
Ваше приложение должно быть возможность загрузки нового приложения JavaScript с помощью swapCache. Попробуйте добавить тег скрипта с src на JavaScript, который выдает предупреждение «foo», а затем измените это на «bar» предупреждений. Он должен предупреждать панель без обновления, точно так же как она должна загружать новые изображения. Возможно, вам захочется уменьшить ваш запуск JavaScript до небольшого количества, которое вам не нужно обновлять. –