当cache.manifest下载html5应用中的所有文件时,如何提醒成功消息? (完全缓存下载的基本成功警报)!
由于
答案 0 :(得分: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中。
答案 1 :(得分:0)
您可以绑定window.applicationCache
对象中的各种事件。其中之一是updateready
事件。
您还必须确保为用户正确重新加载任何缓存更新。请参阅以下article,其中包含应用程序缓存基础知识,事件以及如何以编程方式处理更新。
在处理AppCache时您应该参考的其他一些文章是: