我发布了一个question关于为什么我的$ .getJSON已经停止但是我认为问题现在有点宽了。
我有一个移动HTML5应用程序,可以对php web应用程序(在同一个域上)执行Ajax请求。当有互联网连接即。 navigator.onLine == true我对Web应用程序进行$ .getJSON调用,并将响应本地存储在设备浏览器的websql数据库中。
如果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文件以供离线使用的最佳做法吗?
非常感谢,
比利
答案 0 :(得分:0)
查看http://westciv.com/tools/manifestR/,它是用于创建应用所需的清单文件的绝佳工具。
AppCache要求您要在本地提供的所有内容都列在清单文件中,因此在这种情况下,您需要列出您的应用在离线体验中需要运行的所有JavaScript,CSS和任何其他文件。 ManifestR将帮助您找出该列表并为您构建它。
您的清单文件应如下所示:
CACHE MANIFEST
# rev 3
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
style.css
images.png
NETWORK:
*