使用javascript完成清单缓存时发出警报

使用javascript完成清单缓存时发出警报,javascript,html,caching,cache-manifest,Javascript,Html,Caching,Cache Manifest,当cache.manifest已下载html5应用程序中的所有文件时,如何提醒成功消息?(基本上是缓存下载完成后的成功警报) 谢谢您可以绑定到窗口中的各种事件。applicationCache对象。其中之一是updaterady事件 您还必须确保为用户正确重新加载任何缓存更新。请参阅以下内容,其中介绍了应用程序缓存的基础知识、事件以及如何以编程方式处理更新 在处理AppCache时,您应该参考的其他一些文章包括: 多亏了《花园侏儒》这篇思考得很好的文章 我找到了答案。您所要做的就是创建一个

当cache.manifest已下载html5应用程序中的所有文件时,如何提醒成功消息?(基本上是缓存下载完成后的成功警报)


谢谢

您可以绑定到
窗口中的各种事件。applicationCache
对象。其中之一是
updaterady
事件

您还必须确保为用户正确重新加载任何缓存更新。请参阅以下内容,其中介绍了应用程序缓存的基础知识、事件以及如何以编程方式处理更新

在处理AppCache时,您应该参考的其他一些文章包括:


    • 多亏了《花园侏儒》这篇思考得很好的文章

      我找到了答案。您所要做的就是创建一个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>  
      
      
      var cacheStatus=document.getElementById('cacheStatus');
      cacheStatus.innerHTML=“缓存状态”;
      if(navigator.onLine){
      window.applicationCache.addEventListener('updateready',函数(e){
      if(window.applicationCache.status==window.applicationCache.updaterady){
      window.applicationCache.swapCache();
      cacheStatus.innerHTML=“更新准备就绪!”;
      如果(确认('此页面的新版本可用。是否重新加载?')){
      window.location.reload();
      }
      }
      },假);
      window.applicationCache.addEventListener('cached',函数(e){cacheStatus.innerHTML=“缓存已准备就绪!”;},false);
      window.applicationCache.addEventListener('noupdate',函数(e){cacheStatus.innerHTML=“缓存是最新的!”;},false);
      window.applicationCache.addEventListener('downloading',函数(e){cacheStatus.innerHTML=“downloading…”;},false);
      window.applicationCache.addEventListener('error',函数(e){cacheStatus.innerHTML=“error”},false);
      window.applicationCache.update();
      }否则{
      cacheStatus.innerHTML=“脱机”;
      }
      
      缓存的状态将显示在DIV中。

      我的应用程序大约有43MB(由于png文件很大),我需要确保在脱机之前ipad缓存了所有数据。