【发布时间】:2011-10-08 08:37:11
【问题描述】:
我发布了一个question,关于为什么我的 $.getJSON 停止了,但我认为这个问题现在有点宽泛了。
我有一个移动 HTML5 应用程序,它向 php Web 应用程序(在同一域上)执行 Ajax 请求。当有互联网连接时,即。 navigator.onLine == true 我对 Web 应用程序进行了 $.getJSON 调用,并将响应本地存储在设备浏览器上的 websql db 中。
如果 navigator.onLine == false 那么我想跳过 json 请求并改为在本地提取数据。我的 JSON 工作正常,并且我成功地存储在离线 websql 存储中,但是添加缓存清单文件时出现了问题。
我不确定如何缓存我需要的内容。这是我的缓存清单:
CACHE MANIFEST
# rev 2
CACHE:
index.html
app.html
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css
http://code.jquery.com/jquery-1.4.3.min.js
js/data.js
js/script.js
我认为我可以从 code.jquery.com/.. 缓存外部文件是对的?因为我需要他们在线和离线。
Eric 在我之前的问题中发布了一个答案,说我应该在 NETWORK 下添加 JS 文件:最后带有 * 的标题。当我这样做时,我的 JSON 调用会像我想要的那样被触发。但是现在这些文件无法离线使用。
这似乎也可以,但是当我离线时,甚至我的 CSS 都没有加载:
CACHE MANIFEST
# rev 2
CACHE:
index.html
app.html
js/data.js
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css
http://code.jquery.com/jquery-1.4.3.min.js
js/script.js
NETWORK:
*
谁能建议缓存 javascript/css 文件以供离线使用的最佳做法?
非常感谢,
比利
【问题讨论】:
标签: javascript html browser-cache offline-caching