Оповещение о завершении кэша манифеста с помощью JavaScript
Как предупредить об успешном сообщении, когда cache.manifest загрузил все файлы в html5-приложении? (Предупреждение об успешном завершении загрузки кеша)!
Спасибо
2 ответа
Что ж, благодаря очень хорошо продуманной статье от Garden Gnome http://gardengnomesoftware.com/wiki/Cache_Manifest_File
Я нашел ответ. Все, что вам нужно сделать, это создать div, который будет отображать состояние кэша, добавив это на вашу страницу:
<div id="cachestatus" style="position:fixed;left: 2px;top: 2px; width: 150px;height:18px;color: #ff0000;padding: 1px 3px; opacity:1; z-index:100; font-family:Arial, Helvetica, sans-serif; opacity:0.2;"></div>
и сразу после этого div добавьте следующий java-скрипт:
<script type="text/javascript">
var cacheStatus = document.getElementById('cachestatus');
cacheStatus.innerHTML="cache status";
if (navigator.onLine) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
window.applicationCache.swapCache();
cacheStatus.innerHTML="update ready!";
if (confirm('A new version of this page is available. Reload?')) {
window.location.reload();
}
}
}, false);
window.applicationCache.addEventListener('cached', function(e) {cacheStatus.innerHTML="cache is ready!"; },false);
window.applicationCache.addEventListener('noupdate', function(e) { cacheStatus.innerHTML="cache is up to date!"; },false);
window.applicationCache.addEventListener('downloading', function(e) { cacheStatus.innerHTML="downloading..."; },false);
window.applicationCache.addEventListener('error', function(e) { cacheStatus.innerHTML="error"; },false);
window.applicationCache.update();
} else {
cacheStatus.innerHTML="offline";
}
</script>
Состояние кеша будет отображаться в DIV.
Вы можете привязать к различным событиям в window.applicationCache
объект. Одним из них является updateready
событие.
Вам также необходимо убедиться, что любое обновление кеша правильно загружено для пользователя. Обратитесь к следующей статье, в которой рассматриваются основы кэша приложений, его события и способы обработки обновлений программным способом.
Некоторые другие статьи, на которые вы должны ссылаться при работе с AppCache: