javascript - 执行 html5 webapp 缓存时出现问题

标签 javascript jquery html manifest manifest.cache

我有一个域为 http://draft.mo2do.com 的网络应用程序

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

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”。在此期间,离线缓存工作正常。

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

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

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

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

我该如何解决这个问题?

最佳答案

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

所以,这条线的某处有错误,但很难弄清楚你的意思:

If i directly access only the domain url "http://draft.mo2do.com" in the browser it is not opening 404 in the offline mode.

你能说的清楚点吗?您的意思是转到该 URL 会导致 404,还是页面本身存在错误?

您确定您的缓存文件按预期运行吗? 如果缓存文件中有任何错误,您的离线应用程序将无法运行。此页面提供了一些可能有帮助的调试代码:

Debugging HTML 5 Offline Application Cache

关于javascript - 执行 html5 webapp 缓存时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677813/

相关文章:

javascript - javascript中鼠标悬停时更改div颜色

javascript - JS 中的 Cookie 与 PHP 中的 Cookie

html - 仅使用 CSS 输入文本时更改输入样式

javascript - 延迟函数直到 Assets 加载?

javascript - 在词法作用域或 this-binding 之间使用对象方法?

javascript - 寻找可用于循环显示 3 种状态的 JavaScript 开关控件

javascript - nextUntil 和 prevUntil 在一组组合元素上

php - JQuery AJAX表单处理无需刷新

javascript - Jquery 插件 -toolbar.js > 链接不起作用

javascript - 使用 Javascript 调整页面宽度