做html5 webapp缓存时出现问题

时间:2011-07-13 10:58:35

标签: javascript jquery html5 manifest manifest.cache

我有一个域名为http://draft.mo2do.com

的网络应用程序

当我访问网址时,它将像下面的网址一样解析并重定向到相应的网站主页

http://draft.mo2do.com/s/_91665/Home

这里我实现了离线缓存。我的cache.manifest文件如下所示

   CACHE MANIFEST
   # Offline cache v4.0

   # All other resources (e.g. sites) require the user to be online.  

   NETWORK:

   *

   # Additional resources to cache CACHE:

   # Add the pages in to the cache 

   /s/_91665/Home /s/_91665/CachedDraftBoard

   http://draft.mo2do.com

   # Add the images in to the cache 

   /s/store/-1/webapp/styles/webapp.css

   /s/store/-1/webapp/styles/nba_draft.css

   /s/store/-1/webapp/styles/add2drafthome.css?v2  

   #  Add the js files in to the cache 

   /s/store/-1/webapp/scripts/jquery-1.5.min.js

   /s/store/-1/webapp/scripts/iscroll.js

   /s/store/-1/webapp/scripts/webapp.js

   /s/store/-1/webapp/scripts/nba_draft.js

   /s/store/-1/webapp/scripts/cacheUpdate.js

   /s/store/-1/webapp/scripts/add2drafthome.js?v0.9.4  



   /webapp/icon.png /webapp/startup.png

   /s/store/-1/webapp/nba/addtodrafthome/arrow.png

   /s/store/-1/webapp/nba/addtodrafthome/close-bubble.png

   /s/store/-1/webapp/nba/addtodrafthome/icon.png

   /s/store/-1/webapp/nba/addtodrafthome/plus.png

   /s/store/-1/webapp/nba/addtodrafthome/share.png

   FALLBACK: 

   http://draft.mo2do.com

如果我直接访问网站url,缓存工作正常,那时我没有在缓存部分提到“http://draft.mo2do.com”。这时离线缓存工作正常。

如果我在浏览器中仅直接访问域网址“http://draft.mo2do.com”,则不会在离线模式下打开404.

然后我在缓存部分添加了“http://draft.mo2do.com”,那时我得到了异常

应用程序缓存进度事件(2 of 3)http://draft.mo2do.com/应用程序缓存错误事件:资源提取失败(-1)http://draft.mo2do.com/

如果我也访问域,它应该在离线模式下加载应用程序。如果我访问直接网址应用程序加载正常。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

缓存必须直接引用特定资源,无论是Javascript,CSS,HTML页面,图像等等。从我上面的内容可以看出,你已经做到了。简单地将域放在那里是行不通的(您还需要引用离线所需页面的所有,例如/s/_91665/Home需要在那里)。

所以,沿线某处出现了错误,但很难弄明白你的意思:

  

如果我在浏览器中仅直接访问域网址“http://draft.mo2do.com”,则不会在离线模式下打开404.

你能说清楚吗?你的意思是说转到那个URL导致404,或者页面本身有什么错误吗?

您确定缓存文件是否按预期运行? 如果您的缓存文件中存在任何错误,则您的离线应用程序将无法正常工作。这个页面提供了一些可能有用的调试代码:

Debugging HTML 5 Offline Application Cache