我正在尝试为iphone构建一个Web应用程序,我不明白
如何缓存“images”目录下的所有文件?
我在服务器上修改了一个文件,比如“brandDB.txt”,如何让缓存清单更新这个文件,而这个文件只是为了避免再次下载所有文件?
由于
CACHE MANIFEST
# 20131104-1430
index.html
brandDB.txt
icon.png
splashiphone.png
touch-icon-iphone.png
css/style.css
images/shareicon.png
images/bourez.png
images/john.png
...
NETWORK:
*
FALLBACK:
答案 0 :(得分:2)
我做了一个程序,可以直接从Windows资源管理器轻松生成包含完整列表的缓存清单文件(如果需要):http://matthieu.com/cmfg/
答案 1 :(得分:1)
如何缓存“images”目录下的所有文件?
将它们全部列在清单文件中(如果有很多文件,最容易使用脚本生成列表)。
如何让缓存清单更新此文件,而这个文件只是为了避免再次下载所有内容
如果您在每个文件上设置标头以允许缓存,浏览器将从其自己的缓存填充应用缓存。如果要在不使用HTTP标头的情况下对文件进行版本控制,请在文件末尾添加查询字符串,例如。 brandDB.txt?v=1
- 但是,如果您这样做,请务必更新应用程序中的引用。
答案 2 :(得分:1)
嗯,不幸的是,我要说的是Jake Archibald Said: “应用程序缓存是一个douchebag!” (关于它是如何工作的好文章(实际上不是一个douchebag))
http://alistapart.com/article/application-cache-is-a-douchebag
基本上,您可以创建一个脚本来列出图像目录中的所有文件 并将其粘贴到生成的AppCache文件中。
应用程序缓存只会在文件内容发生变化时更新,您还需要确保文件本身不会被缓存。
我认为你需要你的客户重新加载页面两次才能真正看到更新。 (但是你可以使用javascript告诉用户该页面已经更新,他们需要刷新)