我发布了一个关于为什么我的 $.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 文件以供离线使用的最佳做法吗?
非常感谢,
比利