我有一个域名为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/
如果我也访问域,它应该在离线模式下加载应用程序。如果我访问直接网址应用程序加载正常。
我该如何解决这个问题?
答案 0 :(得分:0)
缓存必须直接引用特定资源,无论是Javascript,CSS,HTML页面,图像等等。从我上面的内容可以看出,你已经做到了。简单地将域放在那里是行不通的(您还需要引用离线所需页面的所有,例如/s/_91665/Home
需要在那里)。
所以,沿线某处出现了错误,但很难弄明白你的意思:
你能说清楚吗?你的意思是说转到那个URL导致404,或者页面本身有什么错误吗?如果我在浏览器中仅直接访问域网址“http://draft.mo2do.com”,则不会在离线模式下打开404.
您确定缓存文件是否按预期运行? 如果您的缓存文件中存在任何错误,则您的离线应用程序将无法正常工作。这个页面提供了一些可能有用的调试代码: